Smarty模板date_format给出了不可预测的结果

时间:2016-10-19 10:37:05

标签: php smarty

我将时间戳传递给Smarty模板,使用date_format会产生不可预测的结果。这是一个最优雅地展示问题的示例模板:

{"1456602208"}
{"1456602208"|date_format}
{"1432808316"}
{"1432808316"|date_format}

此模板的输出:

1456602208
Oct 19, 2208
1432808316
May 28, 2015

第二个日期格式正确。但是,第一个应该是

Feb 27, 2016

为什么会这样?

1 个答案:

答案 0 :(得分:1)

避免这种情况的最佳方法是强制转换为int时间戳。现在它是一个数字string

Smarty在2.6.10中进行了一些更改,将所有数字输入值用作时间戳,但之前并非总是如此。

我可以看到第一个时间戳在2208结束,并且该时间戳返回的年份也是2208,所以我认为聪明的认为它不是时间戳,而是格式化的日期不知。

查看更多here (smarty doc)