如何正确比较PHP中具有相同格式的日期

时间:2018-09-03 08:36:29

标签: php date

尝试进行简单的日期比较。两个日期的格式均为“ Y F jS,g:i a”。例如2018年9月3日,上午9:30。

$today = date('Y F jS, g:i a');
$expire = file_get_contents(dirname(__FILE__).'/maintenance/end_time.php');

if($today>$expire){
  unlink(dirname(__FILE__).'/maintenance/end_time.php');
}

我拥有的代码无法正常工作。我也尝试了strototime(),但是也没有成功。

2 个答案:

答案 0 :(得分:3)

尝试一下。

$today_dt = new DateTime($today);
$expire_dt = new DateTime($expire);

if ($today_dt > $expire_dt) 
 { /* Do something */ }

更新: DateTime解析器可能不支持日期字符串,因此您可以像这样初始化日期。

$today_dt = DateTime::createFromFormat('Y F jS, g:i a', $today);
$expire_dt = DateTime::createFromFormat('Y F jS, g:i a', $expire);

答案 1 :(得分:0)

使用strtotime

$today = time();
$expire = strtotime(file_get_contents(dirname(__FILE__).'/maintenance/end_time.php'));

if($today>$expire){
  //code
}

OR

$today = date('Y F jS, g:i a');
$expire = file_get_contents(dirname(__FILE__).'/maintenance/end_time.php');

if(strtotime($today) > strtotime($expire)){
  unlink(dirname(__FILE__).'/maintenance/end_time.php');
}