以下哪项是比较格式(YYYY-MM-DD)中两个日期值的最佳方法?在以下示例中,两种方法都生成相同的输出。我的约会之一是来自数据库,它是YYYY-MM-DD格式,我也使用mysql。
$d1 = '2014-01-01';
$d2 = '2014-01-02';
if($d1 > $d2)
echo 'D1 is big';
else
echo 'D2 is big';
D2很大
$d1 = '2014-01-01';
$d2 = '2014-01-02';
if(strtotime($d1) > strtotime($d2))
echo 'D1 is big';
else
echo 'D2 is big';
D2很大
比较是否取决于php的verison?我的php版本是5.5.5
答案 0 :(得分:1)
当且仅当您的日期为YYYY-MM-DD格式时,您可以安全地按字符串比较它们。
众所周知并经常使用该格式的属性。
(第一种方法比较它们将变量视为字符串)
如果格式不同,你应该使用strtotime(并确保它实际上是时间之后而不是FALSE)
答案 1 :(得分:0)
如果要正确比较日期,则需要确保它们是日期对象或时间戳。知道这种方法1是错误的方法。
使用方法2,strtotime将确保其正确,因为您正在比较时间。
如果您有不同格式的日期,则需要输入日期格式。