重庆网站建设最近的项目中遇到计算两个时间戳相差的多少天的问题,简单说说我的一个解决思路。
通常情况下我们其实都是长整形的一个变量,如果是字 符串类型的格式化好了的时间可以用strtotime来进行转换。一个开始时间,一个结束时间,两个这样整形的变量,就很明显可以做减法了。 做减法得到值是相差的秒数,得到的这个值秒数除以86400(一天的秒数)取整,则得到相差的天数。余数除以3600秒(一个小时的秒数)在 取整得到的就是小时,以此类推余数在除60等到的则是分分钟数,最后则得到相差的秒数。
下面看一个简单的代码:
$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."小时";
echo $minute."分钟";
echo $second."秒";