假设我有一个日期是
$future_time_ending = "2012-09-21 12:12:22"
如何计算出当前时间和 $future_time_ending
之间的分钟数?
谢谢
最佳答案
一种方法:
$minutes = (strtotime("2012-09-21 12:12:22") - time()) / 60;
strtotime
将日期转换为 Unix 时间戳 - 自 Unix 纪元以来的秒数。减去当前时间戳,得到当前时间和 future 时间之间的秒数。除以 60,结果以分钟为单位。
如果您不确定要比较的时间是 future 的时间,请取绝对值以获得正数:
$minutes = abs(strtotime("2012-09-21 12:12:22") - time()) / 60;
为了让我的回答更完整,PHP 中提供了一种更详尽的 OO 方法:
$time = new DateTime("2012-09-21 12:12:22");
$diff = $time->diff(new DateTime());
$minutes = ($diff->days * 24 * 60) +
($diff->h * 60) + $diff->i;
如果输入时间来自服务器时区以外的时区,这将特别有用。
关于php - 两个日期之间的分钟数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12520145/