首页 > 解决方案 > Twig 中的日期和月份混淆了 |date_modify

问题描述

我正在使用以下代码向我的网站添加各种日期。我想添加一个显示 -3 天、+ 1 天等的菜单。

我目前正在使用以下代码,但我遇到了问题:{{urlparam.depdate|date_modify("-3 day")|date("d/m/Y")}}

尽管在我的 Twig 模板中设置了日期格式,但日期和月份仍然混淆。

示例: https ://myurl.com/?results=Y&depdate=20/08/2019&flex= 0 输出为 08/17/2019 但是它应该输出为 17/08/2019 (DD/MM/YYYY)

我尝试过交换 DD/MM 回合,但这显然会在一天超过 12 天时引发错误,因为它认为这是一个月。

{{urlparam.depdate|date_modify("-3 day")|date("d/m/Y")}}

任何解决方案或建议将不胜感激。

标签: phpdatetwig

解决方案


不知道为什么在使用时没有出现异常20/08/2019,因为这是给定格式的无效日期,DateTime预计MM/DD/YYYY使用此格式时,请参见此处

您只需要使用正确的格式来解决这个问题,例如,

{{ '2019-08-20' | date_modify('-3 day') | date('d-m-Y') }}
{{ '08/20/2019' | date_modify('-3 day') | date('d-m-Y') }}
{{ '08/20/2019' | date_modify('-3 day') | date('d/m/Y') }}

演示


推荐阅读