我有一个轻微的问题输出
我的数据库中的失效日期是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";
答案 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
是两个日期之间的秒数。您必须使用常规数学计算小时,分钟和秒。