我有:
hours1 : 403440
和date2 as :
2016/01/10
我需要以小时为单位转换date2,并找出两者之间的差异,这应该是几个小时。
答案 0 :(得分:1)
date
的第二个参数是一个unix时间戳,以秒为单位,因此将您的小时数乘以3600(每小时3600秒)。
$hours1 = 403440 * 3600;
$date1 = date("d-m-Y H:i:s", $hours1);
echo $date1;
输出:
09-01-2016 19:00:00
根据您的更新,您的代码应为:
$date2 = strtotime('2016/01/10');//get date to seconds from 1970
$hours1 = 403440 * 3600; // convert from hours to seconds
echo ($date2 - $hours1)/3600;//subtract seconds then divide by 3600 to get how many hours difference is
输出:
5
答案 1 :(得分:0)
date()的第二个参数是unix timestamp,它是自1970年1月1日00:00:00 UTC以来的秒数。
因此,如果$ hours1是自1970年1月1日00:00:00 UTC以来的小时数,那么它应该是
date("d-m-Y H:i:s",$hours1*3600);
产生正确的日期字符串。
另一方面,$hours2=(strtotime($date2)/3600);
为您提供自1970年1月1日00:00:00 UTC以来的正确小时数。