如何解决当我尝试格式化日期时,它会在我的树枝模板中呈现今天的日期,为什么会发生这种情况?
我正在使用带有 wordpress 的 twig 模板,我试图输出一个日期,但是当我尝试格式化日期时,它的格式正确但它呈现的是今天的日期,而不是我试图呈现的日期。
{% for item in program_schedule %}
{{ item.training_date_current }} // renders correctly 05/Aug/2021
{{ post.published_at|date("d/M/Y") }} // renders 07/Jul/2021 - should be same as above
{% endfor %}
这很奇怪,知道为什么会发生这种情况以及如何解决吗? 谢谢。
解决方法
因为在循环中,您将单数帖子设置为 item
,但在 published_at
处应用 post
,它在 Timber 中可以从全局上下文中提供(基本上它是当前单数页面)。您可以安装 Debug Timber Bar,它会帮助您找到上下文中的内容或检查 {{ dump(_context) }}
。将循环更改为
{% for item in program_schedule %}
{{ item.training_date_current }}
{{ item.published_at|date("d/M/Y") }}
{% endfor %}
,
在 php 中,date 方法有 2 个参数,其中 1 个是可选的,如 manual 中所述。字符串格式是必需的,第二个参数是时间戳。如果未提供时间戳,则它采用当前时间戳并为您提供今天的日期 (07/Aug/2021)。可能是您希望 post.published_at|date("d/M/Y")
将published_at 作为第二个参数传递,但事实并非如此。
您可能希望将日期方法调用为 date("d/M/Y",$dt)
,其中 $dt 是时间戳。创建时间戳的一种方法是使用 mktime(hour,minute,second,month,day,year)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。