PHP - 如何查找日期是否在2个日期之间

时间:2013-07-30 10:45:51

标签: php date pdo

我从数据库中获取了一些包含日期的数据:

$data['my_date'])

类型是日期:YYYY-MM-DD

我想用PHP作一个条件来确定$ data ['my_date'])是否介于2个日期之间:

if ($data['my_date'] >= 2009-01-01 && $data['my_date'] <= 2009-12-31) {
    $datas = '5';
}
else {
    $datas = 1;
}

它没有按预期工作,条件未经验证。我该怎么办?

3 个答案:

答案 0 :(得分:1)

您需要将strtotime()的所有日期转换为时间戳,然后进行比较。

strtotime($data['my_date']) >= strtotime('2009-01-01')...

答案 1 :(得分:1)

您可以使用strtotime()mktime()将日期转换为时间戳,然后进行比较。

答案 2 :(得分:1)

日期没有文字语法,您应将它们用引号括起来并将它们视为字符串。如果您使用的是YYYY-MM-DD格式,那么它可以按字母顺序排序,并且您当前的方法应该有效。

if ($data['my_date'] >= '2009-01-01' && $data['my_date'] <= '2009-12-31') {
    $datas = '5';
}
else {
    $datas = 1;
}

如果您没有引用日期,那么您正在进行整数运算:

$data['my_date'] >= 2009-01-01  ====> $data['my_date'] >= 2007