UNIX时间戳与time()算时间差

在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.'秒前';
}

循环嵌套顺序判断年月日时分秒,找到第一个不同项相减,就能够计算出数据的距今时间

作者

马克鱼

发布于

2016-11-05

更新于

2025-10-12

许可协议