我试图做一个简单的if if语句。
<?php if (time("mm-dd") > strtotime("11-01") && time("mm-dd") < strtotime("02-28"))echo 'stuff' ?>
基本上我想回应一些事情,如果今天是11月,12月,1月,2月。如果我使用time()
和全年,代码可以工作,但我想比较一个月,一天。我想我有一些愚蠢的语法错误,我无法弄清楚。此代码段放在我的html的<head>
中,如果这有所不同的话。没什么帮助。感谢。
这就是我最终的结果。谢谢!
<?php if ($today > '12-16' || $today < '01-08') echo 'yes' ?>
$today = date("m-d")
答案 0 :(得分:0)
date
功能代替时间。&&
切换为||
。任何m-d
日期字符串都不会大于11-01
且小于02-28
。date()
醇>
这一切都在一起:
$today = date('m-d');
if ($today >= '11-01' || $today < '03-01') { ... }
答案 1 :(得分:0)
考虑仅使用date
检查月份:
$month = (int) date("m");
$isMonthCorrect = $month === 11 || $month === 12 || $month === 1 || $month === 2;
请注意(int)
的重要性。整数比较比字符串比较更可靠,即使它们的行为相似。
或者,如果要在两个日期之间进行检查以优化性能,则应在将日期放入代码之前将其评估为时间戳。
例如,您可以使用某些网站来转换Unix时间戳。 (不要在这里做任何广告,但你可以搜索“Unix时间戳转换器”你也可以使用php -r
来快速输出:
php -r 'echo strtotime("2016-11-01 00:00:00");'
php -r 'echo strtotime("2017-02-01 00:00:00");'
然后你可以像这样使用它们:
$minimum = 1477958400; // from first command line
$maximum = 1485907200; // from second command line
$isInPeriod = $minimum <= time() && time() <= $maximum;
请记住: