在 PHP 中,可以使用不同的方法来比较时间。让我们探索它们并解决比较时间时的特定问题。
问题:
给定的代码无法正确比较时间并按预期输出“ok”:
$ThatTime ="14:08:10"; $todaydate = date('Y-m-d'); $time_now=mktime(date('G'),date('i'),date('s')); $NowisTime=date('G:i:s',$time_now); if($NowisTime >= $ThatTime) { echo "ok"; }
解决方案 1:
使用 strtotime() 函数将时间字符串转换为时间戳:
$ThatTime ="14:08:10"; if (time() >= strtotime($ThatTime)) { echo "ok"; }
解决方案 2:
利用 DateTime 类,它也考虑时区:
$dateTime = new DateTime($ThatTime); if ($dateTime->diff(new DateTime)->format('%R') == '+') { echo "OK"; }
参考:
https://php.net/datetime.diff
以上是如何比较 PHP 中的时间并修复常见错误?的详细内容。更多信息请关注PHP中文网其他相关文章!