在 Smarty 中格式化日期字符串

Format string of date in Smarty

所以我有这些由 Smarty 生成的模板(.tpl 文件)。我有一个变量 {$projects.laycanenddate},其中包含字符串格式 12/24/2016 的日期,但我需要它以 24-Dec-16.

格式显示

我尝试将其解析为带有代码的文本

    {php}
        $date = date_create($projects.laycanenddate);
        $projects.laycanenddate = date_format($date, 'Y-m-d H:i:s');
    {/php}

<div class="right_olbl"> {$projects.laycanenddate} </div>

但它不起作用,因为它忽略了 {php}...{/php},就好像它不存在一样。我读到还有 <?php ... ?> 标签,但我不知道应该使用哪些标签。任何帮助将不胜感激!

{php} 不再被 smarty 支持(一开始这是个坏主意)。只需使用 date_format 修饰符。 Read the documentation

只需指定您的日期

 $smarty->assign('date', strtotime('-1 day'));

使用 smarty 在 tpl 中格式化:

{$date|date_format:'%e-%b-%y'}