PHP 5.3.3。
$olddate = '2014-04-30';
$newdate = '30/05/2014';
是否有一种简单的方法可以比较这些日期(哪一个更新),而无需操纵字符串或更改一种字符串格式?
我正在寻找一两个班轮?
答案 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)
使用DateTime
(documentation)首选用于带时差的操作
$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