说我的日期是
$future_time_ending = "2012-09-21 12:12:22"
Run Code Online (Sandbox Code Playgroud)
我如何算出当前时间和$future_time_ending?之间的分钟数?
谢谢
Mat*_*t S 15
一种方法:
$minutes = (strtotime("2012-09-21 12:12:22") - time()) / 60;
Run Code Online (Sandbox Code Playgroud)
strtotime将日期转换为Unix时间戳 - 自Unix纪元以来的秒数.减去当前时间戳,您可以获得当前时间与未来时间之间的秒数.除以60,结果以分钟为单位.
如果您不确定未来的比较时间,请采用绝对值得到正数:
$minutes = abs(strtotime("2012-09-21 12:12:22") - time()) / 60;
Run Code Online (Sandbox Code Playgroud)
为了完善我的答案,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;
Run Code Online (Sandbox Code Playgroud)
如果输入时间来自服务器以外的时区,则此功能尤其有用.