我从数据库中获取了一些包含日期的数据:
$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;
}
它没有按预期工作,条件未经验证。我该怎么办?
答案 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