<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[计算时间差方法汇总]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[代码编程]]></category>
<pubDate>Tue, 21 Aug 2007 03:42:23 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	问题：2007-08-19 6:10:16 和2007-08-20 16:11:03 怎样得出两个时间差来啊，得出结果是×小时×分×秒啊？？ <br/><br/><br/>获得时间戳（笨办法）：<br/><div class="code"><br/><br/>function GetMkTime($dtime)<br/>&#123;<br/>&nbsp;&nbsp;if(!ereg(&quot;&#91;^0-9&#93;&quot;,$dtime)) return $dtime;<br/>&nbsp;&nbsp;$dt = Array(1970,1,1,0,0,0);<br/>&nbsp;&nbsp;$dtime = ereg_replace(&quot;&#91;&#92;r&#92;n&#92;t&#93;&#124;日&#124;秒&quot;,&quot; &quot;,$dtime);<br/>&nbsp;&nbsp;$dtime = str_replace(&quot;年&quot;,&quot;-&quot;,$dtime);<br/>&nbsp;&nbsp;$dtime = str_replace(&quot;月&quot;,&quot;-&quot;,$dtime);<br/>&nbsp;&nbsp;$dtime = str_replace(&quot;时&quot;,&quot;:&quot;,$dtime);<br/>&nbsp;&nbsp;$dtime = str_replace(&quot;分&quot;,&quot;:&quot;,$dtime);<br/>&nbsp;&nbsp;$dtime = trim(ereg_replace(&quot;&#91; &#93;&#123;1,&#125;&quot;,&quot; &quot;,$dtime));<br/>&nbsp;&nbsp;$ds = explode(&quot; &quot;,$dtime);<br/>&nbsp;&nbsp;$ymd = explode(&quot;-&quot;,$ds&#91;0&#93;);<br/>&nbsp;&nbsp;if(isset($ymd&#91;0&#93;)) $dt&#91;0&#93; = $ymd&#91;0&#93;;<br/>&nbsp;&nbsp;if(isset($ymd&#91;1&#93;)) $dt&#91;1&#93; = $ymd&#91;1&#93;;<br/>&nbsp;&nbsp;if(isset($ymd&#91;2&#93;)) $dt&#91;2&#93; = $ymd&#91;2&#93;;<br/>&nbsp;&nbsp;if(strlen($dt&#91;0&#93;)==2) $dt&#91;0&#93; = &#039;20&#039;.$dt&#91;0&#93;;<br/>&nbsp;&nbsp;if(isset($ds&#91;1&#93;))&#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;$hms = explode(&quot;:&quot;,$ds&#91;1&#93;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;if(isset($hms&#91;0&#93;)) $dt&#91;3&#93; = $hms&#91;0&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if(isset($hms&#91;1&#93;)) $dt&#91;4&#93; = $hms&#91;1&#93;;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if(isset($hms&#91;2&#93;)) $dt&#91;5&#93; = $hms&#91;2&#93;;<br/>&nbsp;&nbsp;&#125;<br/> &nbsp;foreach($dt as $k=&gt;$v)&#123;<br/> &nbsp;&nbsp;&nbsp;$v = ereg_replace(&quot;^0&#123;1,&#125;&quot;,&quot;&quot;,trim($v));<br/> &nbsp;&nbsp;&nbsp;if($v==&quot;&quot;) $dt&#91;$k&#93; = 0;<br/> &nbsp;&#125;<br/>&nbsp;&nbsp;$mt = @mktime($dt&#91;3&#93;,$dt&#91;4&#93;,$dt&#91;5&#93;,$dt&#91;1&#93;,$dt&#91;2&#93;,$dt&#91;0&#93;);<br/>&nbsp;&nbsp;if($mt&gt;0) return $mt;<br/>&nbsp;&nbsp;else return time();<br/>&#125;<br/><br/><br/></div><br/><br/>方法一：<br/><div class="code"><br/><br/><br/>&lt;?php<br/>function getTimeDifference($time_one,$time_two)<br/>&#123;<br/>&nbsp;&nbsp;$stamp_one=strtotime($time_one);<br/>&nbsp;&nbsp;$stamp_two=strtotime($time_two);<br/>&nbsp;&nbsp;$time_diff=abs($stamp_one-$stamp_two);<br/>&nbsp;&nbsp;$diff_time=getdate($time_diff);<br/>&nbsp;&nbsp;$diff_time&#91;&quot;year&quot;&#93;-=1970;<br/>&nbsp;&nbsp;$diff_time&#91;&quot;mon&quot;&#93;-=1;<br/>&nbsp;&nbsp;$diff_time&#91;&quot;mday&quot;&#93;-=1;<br/>&nbsp;&nbsp;// ar_dump($diff_time);<br/>&nbsp;&nbsp;return &quot;时间相差：&quot;.$diff_time&#91;&quot;year&quot;&#93;.&quot;年&quot;.$diff_time&#91;&quot;mon&quot;&#93;.&quot;月&quot;.$diff_time&#91;&quot;mday&quot;&#93;.&quot;日&quot;.$diff_time&#91;&quot;hours&quot;&#93;.&quot;时&quot;.$diff_time&#91;&quot;minutes&quot;&#93;.&quot;分&quot;.$diff_time&#91;&quot;seconds&quot;&#93;;<br/>&#125;<br/>print getTimeDifference(&quot;2007-08-19 6:10:16&quot;,&quot;2007-08-20 16:11:03&quot;).&quot;&lt;br&gt;&quot;;<br/>print getTimeDifference(&quot;2007-08-19 6:10:16&quot;,&quot;2007-08-19 16:11:03&quot;).&quot;&lt;br&gt;&quot;;<br/>print getTimeDifference(&quot;2005-08-19 6:10:16&quot;,&quot;2007-08-20 16:11:03&quot;).&quot;&lt;br&gt;&quot;; <br/><br/>?&gt;<br/></div><br/><br/><br/>方法二：<br/><br/><div class="code"><br/><br/>&lt;?<br/>function getTimeDifference($time_one,$time_two)<br/>&#123;<br/>&nbsp;&nbsp;$stamp_one=strtotime($time_one);<br/>&nbsp;&nbsp;$stamp_two=strtotime($time_two);<br/>&nbsp;&nbsp;$diff_time=($stamp_one-$stamp_two);<br/>&nbsp;&nbsp;$day=intval($diff_time/86400);<br/>&nbsp;&nbsp;$hour=intval(($diff_time-$day*86400)/3600);<br/>&nbsp;&nbsp;$minutes=intval(($diff_time-$day*86400-$hour*3600)/60);<br/>&nbsp;&nbsp;$seconds=$diff_time-$day*86400-$hour*3600-$minutes*60;<br/>return &quot;时间相差：&quot;.$day.&quot;天&quot;.$hour.&quot;小时&quot;.$minutes.&quot;分&quot;.$seconds.&quot;秒&quot;; <br/>&nbsp;&nbsp;&#125;<br/>$aa=&quot;2007-08-19 6:10:16&quot;; <br/>$bb=&quot;2007-08-20 16:11:03&quot;; <br/><br/>&nbsp;&nbsp;echo getTimeDifference($bb,$aa);<br/><br/>?&gt;<br/></div><br/><br/><br/>方法三：<br/><br/><div class="code"><br/><br/>echo getTimeDifference(&#039;2007-08-19 6:10:16&#039;,&#039;2007-08-20 16:11:03&#039;);<br/>&nbsp;&nbsp;function getTimeDifference($time_one,$time_two)&nbsp;&nbsp;//0年0月1日10时0分<br/>&#123;<br/>&nbsp;&nbsp;$stamp_one=strtotime($time_one);<br/>&nbsp;&nbsp;$stamp_two=strtotime($time_two);<br/>&nbsp;&nbsp;$time_diff=abs($stamp_one-$stamp_two);<br/><br/>&nbsp;&nbsp;$diff_time = array();<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;$diff_time&#91;&quot;year&quot;&#93; = 0;<br/>&nbsp;&nbsp;if($time_diff &gt; 31536000) //一年31536000秒<br/>&nbsp;&nbsp;&nbsp;&nbsp;$diff_time&#91;&quot;year&quot;&#93; = floor($time_diff / 31536000);<br/><br/>&nbsp;&nbsp;$time_diff = $time_diff - $diff_time&#91;&quot;year&quot;&#93; * 31536000;<br/><br/><br/>&nbsp;&nbsp;$diff_time&#91;&quot;month&quot;&#93; = 0;<br/>&nbsp;&nbsp;if($time_diff &gt; 2592000) //一月2592000秒<br/>&nbsp;&nbsp;&nbsp;&nbsp;$diff_time&#91;&quot;month&quot;&#93; = floor($time_diff / 2592000);<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;$time_diff = $time_diff - $diff_time&#91;&quot;month&quot;&#93; * 2592000;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;$diff_time&#91;&quot;day&quot;&#93; = 0;<br/>&nbsp;&nbsp;if($time_diff &gt; 86400) //一天86400秒<br/>&nbsp;&nbsp;&nbsp;&nbsp;$diff_time&#91;&quot;day&quot;&#93; = floor($time_diff / 86400);<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;$time_diff = $time_diff - $diff_time&#91;&quot;day&quot;&#93; * 86400;&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;$diff_time&#91;&quot;hour&quot;&#93; = 0;<br/>&nbsp;&nbsp;if($time_diff &gt; 3600) //一小时3600秒<br/>&nbsp;&nbsp;&nbsp;&nbsp;$diff_time&#91;&quot;hour&quot;&#93; = floor($time_diff / 3600);<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;$time_diff = $time_diff - $diff_time&#91;&quot;hour&quot;&#93; * 3600;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;$diff_time&#91;&quot;minute&quot;&#93; = 0;<br/>&nbsp;&nbsp;if($time_diff &gt; 60) //一分60秒<br/>&nbsp;&nbsp;&nbsp;&nbsp;$diff_time&#91;&quot;minute&quot;&#93; = floor($time_diff / 60);<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;$time_diff = $time_diff - $diff_time&#91;&quot;minute&quot;&#93; * 60;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;return &quot;时间相差：&quot;.$diff_time&#91;&quot;year&quot;&#93;.&quot;年&quot;.$diff_time&#91;&quot;month&quot;&#93;.&quot;月&quot;.$diff_time&#91;&quot;day&quot;&#93;.&quot;日&quot;.$diff_time&#91;&quot;hour&quot;&#93;.&quot;时&quot;.$diff_time&#91;&quot;minute&quot;&#93;.&quot;分&quot;; <br/>&#125; &nbsp;<br/><br/><br/></div><br/><br/><br/>方法四：<br/><br/><div class="code"><br/><br/>&lt;?php<br/>function getTimeDifference($time_one,$time_two)<br/>&#123;<br/>&nbsp;&nbsp;$stamp_one=strtotime($time_one);<br/>&nbsp;&nbsp;$stamp_two=strtotime($time_two);<br/>&nbsp;&nbsp;$time_diff=abs($stamp_one-$stamp_two);<br/>&nbsp;&nbsp;/ diff_time=getdate($time_diff);<br/>&nbsp;&nbsp;$days=intval($time_diff/3600/24);<br/>&nbsp;&nbsp;$hours=intval( ($time_diff - (3600*24*$days)) / 3600);<br/>&nbsp;&nbsp;$minutes=intval(($time_diff- (3600*24)*$days - 3600*$hours )/60);<br/>&nbsp;&nbsp;$seconds=$time_diff%60;<br/><br/>&nbsp;&nbsp;return &quot;时间相差：&quot;.$days.&quot;日&quot;.$hours.&quot;时&quot;.$minutes.&quot;分&quot;.$seconds.&quot;秒&quot;;<br/>&#125;<br/>print getTimeDifference(&quot;2007-08-19 6:10:16&quot;,&quot;2007-08-19 6:10:16&quot;).&quot;&lt;br&gt;&quot;;<br/>print getTimeDifference(&quot;2007-08-19 6:10:16&quot;,&quot;2007-08-19 16:05:00&quot;).&quot;&lt;br&gt;&quot;;<br/>print getTimeDifference(&quot;2007-08-19 6:10:16&quot;,&quot;2007-10-19 6:15:14&quot;).&quot;&lt;br&gt;&quot;;<br/>print getTimeDifference(&quot;2007-08-19 6:10:16&quot;,&quot;2007-08-19 6:12:16&quot;).&quot;&lt;br&gt;&quot;;<br/>print getTimeDifference(&quot;2007-08-19 6:10:16&quot;,&quot;2007-08-19 8:10:16&quot;).&quot;&lt;br&gt;&quot;;<br/>print getTimeDifference(&quot;2007-08-19 6:10:16&quot;,&quot;2007-08-17 6:10:16&quot;).&quot;&lt;br&gt;&quot;;<br/>print getTimeDifference(&quot;2007-08-19 6:10:16&quot;,&quot;2007-10-19 6:10:16&quot;).&quot;&lt;br&gt;&quot;;<br/>print getTimeDifference(&quot;2007-08-19 6:10:16&quot;,&quot;2009-08-19 6:10:16&quot;).&quot;&lt;br&gt;&quot;;<br/>print getTimeDifference(&quot;2007-08-19 6:10:16&quot;,&quot;2027-08-19 6:10:16&quot;).&quot;&lt;br&gt;&quot;;<br/>?&gt;<br/><br/></div><br/>Tags - <a href="http://www.dzhope.com/tags/%25E6%2597%25B6%25E9%2597%25B4%25E5%25B7%25AE/" rel="tag">时间差</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] 计算时间差方法汇总]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>