我的语法不太正确,我只需要一个IF语句来检查今天是否在一组日期之间,如果是,则返回。这应该如何调整?
$now = time('Y/m/d');
$date_september = '2014/09/01';
$date_october = '2014/10/01';
if ($now > $date_september && $now < $date_october)
{
echo "do this...";
}
- 使用
DateTime()
。这使得日期比较容易,因为这些对象是可比较的。 - 您的
if
声明无效。PHP不支持任何用于比较的简写语法。
试试;
$now = new DateTime();
$date_september = new DateTime('2014-09-01');
$date_october = new DateTime('2014-10-01');
if ($now > $date_september && $now < $date_october) {
echo "do this...";
}
您将需要比较unix时间戳值。Strtotime将文本日期转换为Unix时间戳(整数),这与time()调用返回的结果相同。
$now = time();
$date_september = strtotime('2014/09/01');
$date_october = strtotime('2014/10/01');
if ($now > $date_september && $now < $date_october) {
echo "do this...";
}
另一个更简单的解决方案是:
$now = date('Y/m/d');
$date_september = '2014/09/01';
$date_october = '2014/10/01';
if ($now > $date_september && $now < $date_october) {
echo "do this...";
}