那么首先要考虑的是DateDiff()了吗?
<?php
$date1 = strtotime(1766253900); // expiry date
$date2 = strtotime(1539652560); // todays date
$dtDiff = $date1 - $date2;
$totalDays = intval($dtDiff/(24*60*60));
echo $totalDays
?>
我尝试过这种方式,但是输出0零
答案 0 :(得分:1)
这是使用DateTime
和DateInterval
类的方法:
// set expiry date
$date1 = (new DateTime())->setTimestamp(1766253900);
// today's date
$date2 = new DateTime();
$diff = $date1->diff($date2);
echo $diff->days;
输出(截至2018年10月15日)
2622
答案 1 :(得分:0)
只需删除strtotime,因为两个日期都已经是UNIX时间戳,即自1970年以来的秒数
<?php
$date1 = 1766253900; // expiry date
$date2 = 1539652560; // todays date
$dtDiff = $date1 - $date2;
$totalDays = intval($dtDiff/(24*60*60));
echo $totalDays
?>
答案 2 :(得分:0)
因为您输入的1766253900和1539652560已经是时间戳,所以strotime函数是使正常日期转换UNIX时间,因此您无需使用strotime将UNIX时间转换为UNIX时间
<?php
$date1 = 1766253900; //expiry date
$date2 = 1539652560; //todays date
$totalDays = intval(($date1-$date2)/(24*60*60));
print_r($totalDays);
您可以使用mysql函数将UNIX时间转换为正常时间
mysql> select from_unixtime(1766253900); #2025-12-21 02:05:00
但是您也可以使用mysql函数将正常时间转换为UNIX时间
mysql> select unix_timestamp('2025-12-21 02:05:00'); #1766253900