Twig宏循环中date过滤器输出错误值问题
解决Twig宏中date过滤器输出错误日期格式的问题
嘿,我一眼就发现问题出在哪了!你在使用Twig的date过滤器时,格式字符串写错了——这里的m代表的是月份,而你想要显示的是分钟,得用i才行!
你当前的代码里写的是:
<div class="datetime">{{ node.comment.creationDate | date("d.m.Y / H:m") }}</div>
这里第二个m会把日期里的月份值重复输出,而不是分钟数,这就导致了输出结果和预期不符,但dump能显示正确的原始日期,因为数据本身是没问题的。
修正后的代码
把格式串里的H:m改成H:i就可以了:
<div class="datetime">{{ node.comment.creationDate | date("d.m.Y / H:i") }}</div>
额外验证小提示
- 既然
dump(node.comment.creationDate)输出正确,说明这个变量确实是有效的DateTime对象(或者Twig能自动解析的日期字符串),不用额外处理日期的类型转换。 - 可以再核对一下Twig日期格式的常用规则:
d:两位数的日期(01-31)m:两位数的月份(01-12)Y:四位数的年份H:24小时制的小时(00-23)i:两位数的分钟(00-59)
这样修改后,日期时间的显示就会和你预期的一致啦!
内容的提问来源于stack exchange,提问作者alpo
相关产品推荐
相关产品推荐

