UNIX時間戳與time()算時間差
在mysql查詢中我們經常會遇到UNIX時間戳的轉換還有計算經過時間的問題,下面的我的一種解決方案
需要用到的函數
getdate(unix數字時間戳)
將時間戳數字轉化爲鍵值數組,使得我們可以輕易地分離想要進行判斷的時間
time()
方便獲取現在的時間
現假設從mysql中獲取到時間戳爲$result
$date_time_array = getdate($result);
$hour = $date_time_array['hours'];
$min = $date_time_array['minutes'];
$second = $date_time_array['seconds'];
$month = $date_time_array['mon'];
$day = $date_time_array['mday'];
$year = $date_time_array['year'];
$now_time_array = getdate(time());
if($year<$now_time_array['year'])
{
$diff = $now_time_array['year']-$year;
$timediff = $diff.'年前';
}
else if($month<$now_time_array['mon'])
{
$diff = $now_time_array['mon']-$month;
$timediff = $diff.'月前';
}
else if($day<$now_time_array['mday'])
{
$diff = $now_time_array['mday']-$day;
$timediff = $diff.'天前';
}
else if($hour<$now_time_array['hours'])
{
$diff = $now_time_array['hours']-$hour;
$timediff = $diff.'小時前';
}
else if($min<$now_time_array['minutes'])
{
$diff = $now_time_array['minutes']-$min;
$timediff = $diff.'分鐘前';
}
else if($second<$now_time_array['seconds'])
{
$diff = $now_time_array['seconds']-$second;
$timediff = $diff.'秒前';
}
循環嵌套順序判斷年月日時分秒,找到第一個不同項相減,就能夠計算出數據的距今時間