以字符串格式比较两个日期

时间:2013-02-02 17:10:29

标签: php string date compare

我可以比较数字字符串中的两个日期吗?或者我应该将它们重新输入到整数中?

这段代码好吗?

<?php
$date1 = "20130102";
$date2 = "20151012";

if ($date1 < $date2){
    echo "date1 < date2";
} elseif ($date1 > $date2){
    echo "date1 > date2";
} else {
    echo "date1 = date2";
}
?>

1 个答案:

答案 0 :(得分:3)

在以下情况下,您的代码是安全无误的:Iff您的日期格式为Ymd(根据php {#3;}}

这样做的原因是,在我能想象的所有字符集中,字符0-9的排序与0-9的字符完全相同。如果你然后使用前导0,你的字符串就像数字一样排序。

N.B。使用字符串作为日期的数据类型是代码气味。见date function(第7号)

相关问题