重慶網(wǎng)站建設(shè)最近的項(xiàng)目中遇到計(jì)算兩個(gè)時(shí)間戳相差的多少天的問題,簡單說說我的一個(gè)解決思路。
通常情況下我們其實(shí)都是長整形的一個(gè)變量,如果是字 符串類型的格式化好了的時(shí)間可以用strtotime來進(jìn)行轉(zhuǎn)換。一個(gè)開始時(shí)間,一個(gè)結(jié)束時(shí)間,兩個(gè)這樣整形的變量,就很明顯可以做減法了。 做減法得到值是相差的秒數(shù),得到的這個(gè)值秒數(shù)除以86400(一天的秒數(shù))取整,則得到相差的天數(shù)。余數(shù)除以3600秒(一個(gè)小時(shí)的秒數(shù))在 取整得到的就是小時(shí),以此類推余數(shù)在除60等到的則是分分鐘數(shù),最后則得到相差的秒數(shù)。
下面看一個(gè)簡單的代碼:
$startdate="2017-3-11 11:40:00";
$enddate="2017-6-16 11:45:09";
$date=floor((strtotime($enddate)-strtotime($startdate))/86400);
$hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);
$minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);
$second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);
echo $date."天";
echo $hour."小時(shí)";
echo $minute."分鐘";
echo $second."秒";