说我有一个日期
$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 纪元以来的秒数。减去当前时间戳,您就有了当前时间和未来时间之间的秒数。除以 60,结果以分钟为单位。
如果您不确定要比较的时间是将来,请取绝对值以获得正数:
$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;
如果输入时间来自服务器以外的时区,这将特别有用。