在mysql查询中我们经常会遇到UNIX时间戳的转换还有计算经过时间的问题,下面的我的一种解决方案
需要用到的函数
getdate(unix数字时间戳)
将时间戳数字转化为键值数组,使得我们可以轻易地分离想要进行判断的时间
time()
方便获取现在的时间
现假设从mysql中获取到时间戳为$result
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| $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.'秒前'; }
|
循环嵌套顺序判断年月日时分秒,找到第一个不同项相减,就能够计算出数据的距今时间