哪个是比较YYYY-MM-DD中两个日期的最佳方法

时间:2013-12-31 08:57:10

标签: php mysql date datetime

以下哪项是比较格式(YYYY-MM-DD)中两个日期值的最佳方法?在以下示例中,两种方法都生成相同的输出。我的约会之一是来自数据库,它是YYYY-MM-DD格式,我也使用mysql。

方法1

$d1 = '2014-01-01';
$d2 = '2014-01-02';
if($d1 > $d2)
  echo 'D1 is big';
else
  echo 'D2 is big';

Ouptput

  

D2很大

方法2

$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

2 个答案:

答案 0 :(得分:1)

当且仅当您的日期为YYYY-MM-DD格式时,您可以安全地按字符串比较它们。

众所周知并经常使用该格式的属性。

(第一种方法比较它们将变量视为字符串)

如果格式不同,你应该使用strtotime(并确保它实际上是时间之后而不是FALSE)

答案 1 :(得分:0)

如果要正确比较日期,则需要确保它们是日期对象或时间戳。知道这种方法1是错误的方法。

使用方法2,strtotime将确保其正确,因为您正在比较时间。

如果您有不同格式的日期,则需要输入日期格式。