【问题标题】:Trying to convert a date in Twig尝试在 Twig 中转换日期
【发布时间】:2017-03-02 13:27:59
【问题描述】:

我正在尝试转换:

{{ "26/03/2013"|date("d/m/Y") }}

在 Twig 中,但它正在抛出错误

未捕获的异常:DateTime::__construct(): 无法解析时间 位置 0 (2) 处的字符串 (26/03/2013):中的意外字符 /home/vagrant/代码/幻影 网站/vendor/twig/twig/lib/Twig/Template.php 第 218 行。

如果我通过了:

{{ "03/26/2013"|date("m/d/Y") }}

它有效,所以我想我需要更改与 Twigs 日期格式相关的内容

【问题讨论】:

    标签: php date format twig


    【解决方案1】:

    date 过滤器是关于格式化 DateTime 对象,所以如果你传递一个字符串,这将传递给 DateTime 对象的构造函数,然后传递给 format 方法,所以在你的情况下,你需要格式化字符串以 DateTime 构造函数为例

    {{ "2013-3-26"|date("d/m/Y") }}
    

    来自文档:

    格式说明符与日期支持的相同,除非当 过滤后的数据是 DateInterval 类型,格式必须符合 DateInterval::format 代替。

    还有关于字符串格式:

    日期过滤器接受字符串(它必须是受支持的格式 strtotime 函数)、DateTime 实例或 DateInterval 实例。例如,要显示当前日期,请过滤单词 “现在”:

    在这个 twigfiddle 中尝试this

    【讨论】:

      【解决方案2】:

      如果您使用/ 作为分隔符,则预期格式为m/d/Y
      要将日期作为日、月、年传递,您需要使用 - 作为分隔符

      {{ "26-03-2017" | date('d/m/Y') }}
      

      fiddle

      【讨论】:

        猜你喜欢
        • 2015-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-18
        • 2012-07-14
        • 1970-01-01
        • 2020-04-11
        • 2020-08-18
        相关资源
        最近更新 更多