我正在为11月1日至12月31日午夜的圣诞节期间准备我们的商家网站。我已经在网站CSS样式表上进行了修改,以便在将“xmas”类添加到body元素时触发圣诞主题覆盖,如果已将我的代码放入我们的全局head.php文件中但是它的刚刚触发,我试图在PHP标签中捕获这个以触发日期函数?
这是否可行 - 如果有人可以提供帮助?
到目前为止,我已经尝试过这个......
<?php
//Must be in format of DAY-MONTH-YEAR
if(date('d-j-Y') == "30-11-date('Y')") {
?>
<script>
$(document).ready(function(){
$('body').addClass('xmas');
});
</script>
<?php
}
?>
但当然这只适用于11月30日,我需要这项工作直到12月31日。
答案 0 :(得分:4)
使用DateTime
对象是可比较的,并使这相当容易和直接。
<?php
$now = new DateTime();
$nov1 = new DateTime('2015-11-01 00:00:00');
$dec31 = new DateTime('2015-12-31 23:59:59');
if($now >= $nov1 && $now <= $dec31) {
?>
如果您希望每年使代码动态化,只需使年份值动态,就像您的示例中一样。
答案 1 :(得分:0)
要有一个无论年份或日期的脚本,它总是告诉你圣诞节和新年假期的时间
我在PHP中使用它
/*
* ==12 if is decembre, >= 17 if day is great than 17
* ==12 if is january, <= 7 if day is less than 7
* @return if is holiday time or not
*/
public static function isHolidayTime()
{
if(date("m") == 12 && date("d") >= 17){
//Holiday time there
return true;
}else if(date("m") == 1 && date("d") <= 7){
//Holiday time there
return true;
}
else{
//normal day
return false;
}
}
答案 2 :(得分:-1)
您可以使用包含月和日的日期函数,如下所示:
$date = date('md');
if($date >= '1130' && $date <= '1231')