我在比较日期/时间时遇到了一些问题。
我有一个工作代码突然停止工作。现在我对它进行了一些更改,由于某种原因,UNIX时间不正确。
Utime和nexttime现在只是一个示例字符串,但在代码中Utime是上次更新的,下次是下次更新将从Utime计算出来。
示例:
$Utime = "201603300450"; // YmdHi 2016 03 30 04:50
$nexttime = "201603300520";
if (date("YmdHi")>=$Utime && date("YmdHi")>=$nexttime)
这是比较时间价值的安全方法吗?我有一些与strtotime有关的问题,这就是我问的原因。
答案 0 :(得分:0)
Strtotime应该可以正常工作,但你应该坚持使用有效的格式。 “Y-m-d H:i:s”是strtotime的有效格式。
希望有所帮助:)
答案 1 :(得分:0)
您应该将日期转换为DateTime
个对象:
<?php
$Utime = "201603300450";
$nexttime = "201603300520";
$dateUtime = DateTime::createFromFormat('YmdHi', $Utime);
$datenexttime = DateTime::createFromFormat('YmdHi', $nexttime);
$nowDate = DateTime::createFromFormat('YmdHi', date('YmdHi'));
if ($nowDate>=$dateUtime && $nowDate>=$datenexttime)
//do your stuff...
答案 2 :(得分:-2)
strtotime()在这方面是一个很好的帮手。
$Utime = "201603300450";
$nexttime = "201603300520";
if ( strtotime('now') >= strtotime($Utime) && strtotime('now') >= strtotime($nexttime) )