基于时间的条件。

8
通过服务器时间触发EE中的条件是否可能?
{if servertime == 'midnight to 13:00'}
      do this
{if:else}
      do something else
{/if}

感谢您。
Thank you
4个回答

7
当然可以使用{current_time}全局变量进行基本条件判断。以您的示例为例,以下是我们如何检查时间是否在午夜到下午1点之间:
{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}

4

3

重申Jean所说的 - 如果你正在做这样的事情,你需要确保你的DST(夏令时)已经被适当地配置。

如果你没有使用FocusLab Config - 只需将以下内容放入你的config.php中(位于system/expressionengine/config/)

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

这会让你的网页动态地解决问题。

抱歉,我不太理解这个。这个会自动设置EE的夏令时吗? - KSPR
是的 - 这会为您自动设置,这意味着您不需要担心它。 - madebyhippo

1

你需要注意你的 DST 设置。一个解决方法是使用 FocusLab 的 Master Config,它可以自动处理 DST。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接