以不同格式比较php中的日期

时间:2014-06-02 09:59:30

标签: php date compare

PHP 5.3.3。

$olddate = '2014-04-30';
$newdate = '30/05/2014';

是否有一种简单的方法可以比较这些日期(哪一个更新),而无需操纵字符串或更改一种字符串格式?

我正在寻找一两个班轮?

3 个答案:

答案 0 :(得分:0)

使用strtotime,它足够聪明,可以在常见情况下自动解析字符串。根据{{​​3}},

  

通过查看,可以消除m / d / y或d-m-y格式的日期   各种组件之间的分隔符。

答案 1 :(得分:0)

您无法将值比较为字符串。

您可以使用\ DateTime对象或将此次转换为整数(时间戳),然后进行下一次比较。

$oldDate = \DateTime::createFromFormat('Y-m-d', $oldDate);
$newDate = \DateTime::createFromFormat('d/m/Y', $newDate);

if ($newDate > $oldDate) {
  // Your action
} else {
  // Your action
}

答案 2 :(得分:0)

使用DateTimedocumentation)首选用于带时差的操作

$date_1 = new DateTime($olddate);
$date_2 = new DateTime($new_date);

$diff = $date_1->diff($date_2);

以上将返回DateInterval对象,其中包含您需要的所有信息(documentation

也可以使用strtotime,它只返回您的时间的unix时间戳。

$stamp_1 = strtotime($oldddate); 
$stamp_2 = strtotime($newdate);

$diff = $stamp_2 - $stamp_1; // really any comparison here