PHP时间戳错误

时间:2017-12-01 17:59:04

标签: php datetime timestamp

我有一个轻微的问题输出

我的数据库中的失效日期是2017-12-02 06:32:46

但是下面的代码输出为1969年,12个月,18天

$target = strtotime("Y-m-d H:i:s", $user->getFromTable_MyId("expiry_date", "users")); //date in db = 2017-12-02 06:32:46
$today =  date("now");
$difference = $target - $today;
$year = date('Y',$difference);
$month = date('m',$difference);
$days = date('d',$difference);
print $year." Years,  ".$month." Months,  ".$days." Days";

1 个答案:

答案 0 :(得分:0)

此行不正确;

$target = strtotime("Y-m-d H:i:s", $user->getFromTable_MyId("expiry_date", "users"));

应该是

$target = strtotime($user->getFromTable_MyId("expiry_date", "users"));

编辑,date("now")应为time()

并在此处https://stackoverflow.com/a/10696762/3790921

查看此答案

其余的“计算”代码也无效。它只是给你一个像1970-01-01 12:13:03这样的日期

你的var $difference是两个日期之间的秒数。您必须使用常规数学计算小时,分钟和秒。