2015-09-28 25 views
1

我準備在聖誕節期間從11月1日至12月31日午夜我們的企業網站。我已經在網站CSS樣式表上做了修改,以便在body元素中添加「xmas」類時觸發聖誕節主題覆蓋,如果已將此代碼放入我們的全局head.php文件中,但它是剛剛觸發,我想在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 
} 
?> 

當然,這隻會在十一月三十工作,我需要這個工作,雖然直到12月31日,但。

回答

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) { 
?> 

如果您想讓代碼每年都是動態的,只需按照您的示例使年份值動態化即可。

+0

謝謝工作的魅力 –

-1

您可以使用日期函數的月份和日期,就像這樣:

$date = date('md'); 
if($date >= '1130' && $date <= '1231') 
+0

我將如何獲得這可以在一個月的時間內工作,而不必每天更新代碼? –

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; 
    } 
}