PHP触发日期?圣诞节网站准备

时间:2015-09-28 00:43:03

标签: php date date-comparison

我正在为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日。

3 个答案:

答案 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')