有条件的基于星期几

585*_*nor 3 smarty

我想根据一周的当前日期打印出不同的文本字符串。有什么建议吗?

我是否在正确的轨道上:

{if $current_timestamp|date_format:"%A" == 'Monday'}
    Monday
{elseif $current_timestamp|date_format:"%A" == 'Tuesday'}
    Tuesday
{elseif $current_timestamp|date_format:"%A" == 'Wednesday'}
    Wednesday
{elseif $current_timestamp|date_format:"%A" == 'Thursday'}
    Thursday
{elseif $current_timestamp|date_format:"%A" == 'Friday'}
    Friday
{else}
    Weekend
{/if}
Run Code Online (Sandbox Code Playgroud)

目前这对我有用,但我想知道是否有更有效的方法。

PS:我不会打印星期几的名称,这只是我的示例。

rod*_*ehm 5

您应该学会“缓存”您的值:

{assign var="weekday" value=$smarty.now|date_format:"%u"}
{if $weekday == 1} Monday
…
{elseif $weekday == 7} Sunday
{/if}
Run Code Online (Sandbox Code Playgroud)