我将时间戳传递给Smarty模板,使用date_format
会产生不可预测的结果。这是一个最优雅地展示问题的示例模板:
{"1456602208"}
{"1456602208"|date_format}
{"1432808316"}
{"1432808316"|date_format}
此模板的输出:
1456602208
Oct 19, 2208
1432808316
May 28, 2015
第二个日期格式正确。但是,第一个应该是
Feb 27, 2016
为什么会这样?
答案 0 :(得分:1)
避免这种情况的最佳方法是强制转换为int
时间戳。现在它是一个数字string
。
Smarty在2.6.10中进行了一些更改,将所有数字输入值用作时间戳,但之前并非总是如此。
我可以看到第一个时间戳在2208
结束,并且该时间戳返回的年份也是2208
,所以我认为聪明的认为它不是时间戳,而是格式化的日期不知。