<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>71街 &#187; 时间</title>
	<atom:link href="http://www.71j.cn/archives/tag/%e6%97%b6%e9%97%b4/feed" rel="self" type="application/rss+xml" />
	<link>http://www.71j.cn</link>
	<description>杜工的技术博客</description>
	<lastBuildDate>Fri, 16 Dec 2011 03:52:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>用js计算时间差，得到比较人性化的结果</title>
		<link>http://www.71j.cn/archives/56</link>
		<comments>http://www.71j.cn/archives/56#comments</comments>
		<pubDate>Thu, 03 Sep 2009 09:48:21 +0000</pubDate>
		<dc:creator>杜工</dc:creator>
				<category><![CDATA[感悟]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[时间]]></category>

		<guid isPermaLink="false">http://71j.cn/?p=56</guid>
		<description><![CDATA[我们经常看到一些文章或者评论的发表时间不是直接显示出死板的Y-m-d格式，而是算了一个时间差，如：发表于2分钟前，这样显得比较人性化，多用于一些非正式网站。下面提供JavaScript的实现... ]]></description>
			<content:encoded><![CDATA[<p>我们经常看到一些文章或者评论的发表时间不是直接显示出死板的Y-m-d格式，而是算了一个时间差，如：发表于2分钟前，这样显得比较人性化，多用于一些非正式网站。下面提供JavaScript的实现方法：</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> minute <span style="color: #339933;">=</span> <span style="color: #CC0000;">1000</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">60</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> hour <span style="color: #339933;">=</span> minute <span style="color: #339933;">*</span> <span style="color: #CC0000;">60</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> day <span style="color: #339933;">=</span> hour <span style="color: #339933;">*</span> <span style="color: #CC0000;">24</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> halfamonth <span style="color: #339933;">=</span> day <span style="color: #339933;">*</span> <span style="color: #CC0000;">15</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> month <span style="color: #339933;">=</span> day <span style="color: #339933;">*</span> <span style="color: #CC0000;">30</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> getDateDiff<span style="color: #009900;">&#40;</span>dateTimeStamp<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #003366; font-weight: bold;">var</span> now <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Date<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getTime</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> diffValue <span style="color: #339933;">=</span> now <span style="color: #339933;">-</span> dateTimeStamp<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>diffValue <span style="color: #339933;">&lt;</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 <span style="color: #006600; font-style: italic;">//非法操作</span>
 <span style="color: #006600; font-style: italic;">//alert(&quot;结束日期不能小于开始日期！&quot;);</span>
 <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> monthC <span style="color: #339933;">=</span>diffValue<span style="color: #339933;">/</span>month<span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> weekC <span style="color: #339933;">=</span>diffValue<span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">7</span><span style="color: #339933;">*</span>day<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> dayC <span style="color: #339933;">=</span>diffValue<span style="color: #339933;">/</span>day<span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> hourC <span style="color: #339933;">=</span>diffValue<span style="color: #339933;">/</span>hour<span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> minC <span style="color: #339933;">=</span>diffValue<span style="color: #339933;">/</span>minute<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>monthC<span style="color: #339933;">&gt;=</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 result<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;发表于&quot;</span> <span style="color: #339933;">+</span> parseInt<span style="color: #009900;">&#40;</span>monthC<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;个月前&quot;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>weekC<span style="color: #339933;">&gt;=</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 result<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;发表于&quot;</span> <span style="color: #339933;">+</span> parseInt<span style="color: #009900;">&#40;</span>weekC<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;个星期前&quot;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>dayC<span style="color: #339933;">&gt;=</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 result<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;发表于&quot;</span><span style="color: #339933;">+</span> parseInt<span style="color: #009900;">&#40;</span>dayC<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;天前&quot;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>hourC<span style="color: #339933;">&gt;=</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 result<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;发表于&quot;</span><span style="color: #339933;">+</span> parseInt<span style="color: #009900;">&#40;</span>hourC<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;个小时前&quot;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span>
 <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>minC<span style="color: #339933;">&gt;=</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 result<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;发表于&quot;</span><span style="color: #339933;">+</span> parseInt<span style="color: #009900;">&#40;</span>minC<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;分钟前&quot;</span><span style="color: #339933;">;</span>
 <span style="color: #009900;">&#125;</span><span style="color: #000066; font-weight: bold;">else</span>
 result<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;刚刚发表&quot;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">?</span> <span style="color: #000066; font-weight: bold;">return</span> result<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>如果你得到的原始数据不是时间戳，可以采用下面的函数把字符串转换为标准时间戳, 它相当于JS版的strtotime，只不过精度不同罢了：</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> getDateTimeStamp<span style="color: #009900;">&#40;</span>dateStr<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
 <span style="color: #000066; font-weight: bold;">return</span> Date.<span style="color: #660066;">parse</span><span style="color: #009900;">&#40;</span>dateStr.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/-/gi</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.71j.cn/archives/56/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

