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

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