【发布时间】:2017-12-01 17:59:04
【问题描述】:
我对下面的输出有一个小问题
我的数据库中的过期日期是 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";
【问题讨论】:
-
你使用strtotime()错了
-
您使用了错误的功能。
date("now")应该是time()。你的strtotime应该是date。减法应该在 unix 时间戳上,而不是在时间字符串上。 -
我用过
date($user->getFromTable_MyId("expiry_date", "users"));我也试过我用过date("Y-m-d H:i:s", $user->getFromTable_MyId("expiry_date", "users")); -
使用
edit、stackoverflow.com/posts/47598991/edit 链接更新问题。这里有多个问题。如果“时间戳”确实是日期时间,则需要将其转换为字符串。