可以像这样比较date()吗?

时间:2016-03-30 05:56:40

标签: php date

我在比较日期/时间时遇到了一些问题。

我有一个工作代码突然停止工作。现在我对它进行了一些更改,由于某种原因,UNIX时间不正确。

Utime和nexttime现在只是一个示例字符串,但在代码中Utime是上次更新的,下次是下次更新将从Utime计算出来。

示例:

 $Utime = "201603300450"; // YmdHi 2016 03 30 04:50
 $nexttime = "201603300520"; 
 if (date("YmdHi")>=$Utime && date("YmdHi")>=$nexttime)

这是比较时间价值的安全方法吗?我有一些与strtotime有关的问题,这就是我问的原因。

3 个答案:

答案 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()在这方面是一个很好的帮手。

查看strtotime

$Utime = "201603300450";
$nexttime = "201603300520";
if ( strtotime('now') >= strtotime($Utime) && strtotime('now') >= strtotime($nexttime) )