【发布时间】:2020-10-11 17:08:40
【问题描述】:
到期日期为 unix 时间戳,大约 2020 年 9 月 30 日上午 6 点
$expiry_date_time = 160142766; //30 sept 2020 6AM
$dt1 = new DateTime();
$dt1->setTimestamp($expiry_date_time);
$now = new DateTime();
$i = $now->diff($dt1);
$time_remaining = $i->format('%y years %m months %a days %h hours %i minutes');
echo $time_remaining;
今天运行代码时的输出(2020 年 10 月 11 日)
0 years 0 months 11 days 7 hours 19 minutes
此代码不会给出不正确的结果,但它无法区分过期和未过期,就像在上述情况下订阅已过期它给出的输出 11 天,这并不完全不正确,因为它已经过期了 11 天如果你计算但不应该是负 11 天? 如果我将到期日期设为未来两天,它将正确计算并输出 2 天 xx 小时和 xx 分钟。 如何区分过期和未过期?
【问题讨论】:
-
可以比较
expired DateTime和current DateTime是否过期
标签: php