2012-11-05 80 views
8

是否可以通過服務器時間在EE中觸發條件?基於時間的條件

{if servertime == 'midnight to 13:00'} 
     do this 
{if:else} 
     do something else 
{/if} 

謝謝

回答

7

當然,您可以使用基本條件的全局變量{current_time}。以您的示例爲例,我們將查看午夜到13:00之間的時間:

{if 
    '{current_time format="%H%i"}' >= '0000' AND 
    '{current_time format="%H%i"}' <= '1300' 
} 
    It's between 00:00 and 13:00 
{if:else} 
    It isn't. 
{/if} 
+0

太好了。謝謝。 – KSPR

1

您還需要觀看DST設置。解決這個問題的一個方法是使用FocusLab的主配置來修復它,以便自動處理DST。

3

只是爲了重申Jean說的話 - 如果你正在做這樣的事情,你需要確保你的DST(日光節約)被適當配置。

如果你不使用FocusLab配置 - 剛落,下面進入你的config.php文件(系統/ expressionengine /配置/)

$config['daylight_savings'] = ((bool) date('I')) ? 'y' : 'n'; 

這會爲你動態排序。

+0

對不起,我不太明白這一點。這是否自動執行EE的DST設置? – KSPR

+0

是的 - 這會自動爲你設置,這意味着你不必擔心它。 – madebyhippo