【问题标题】:Convert date formatted string to DateTime object?将日期格式的字符串转换为 DateTime 对象?
【发布时间】:2015-06-20 16:51:21
【问题描述】:

我需要将日期格式的字符串转换为 datetime 对象,以便我可以在 datetime 对象上使用 Twig date() 函数。

示例字符串:'2015-06-20'

Twig 可以做到这一点,还是可以通过自定义 Twig 扩展来完成?

【问题讨论】:

    标签: twig


    【解决方案1】:

    你可以这样做

    {{ "12/14/2016"|date("Y-m-d", option_timezone_convert) }}
    

    请注意,它将从该字符串创建具有默认时区的日期时间对象,如果您应用时区选项,它将转换它。

    【讨论】:

    • 你确定这会创建一个DateTime吗?我总是收到一个字符串而不是 DateTime 对象。通常函数{% set dateTime = date('2015-06-20') %} 会这样做。然后可以使用format函数{{ dateTime.format('d.m.Y') }}
    • 直接传递给日期过滤器的字符串会将字符串放入日期时间对象,然后使用时区应用到日期,然后返回字符串以在 Twig 中使用。他说他有一个字符串需要转换成datetime,然后用twig打印出来
    • 是的,但是您永远无法访问 twig 中的 DateTime 对象,而您只能收到字符串。例如你不能使用date.modify函数
    • 尽管它会转换该字符串并将其显示到正确的时区,但实际上它会更正那里的日期。
    • twig.symfony.com/doc/2.x/filters/date.html 请查看文档,它会清楚地显示我在说什么
    【解决方案2】:

    PHP 的 DateTime 对象可以作为构造函数执行此操作:

    $date = new DateTime('2015-06-20');
    

    【讨论】:

    • Op 正在使用 twig 寻找解决方案
    猜你喜欢
    • 1970-01-01
    • 2019-01-31
    • 2012-08-13
    • 2020-07-21
    • 1970-01-01
    • 2016-12-27
    • 2012-05-24
    • 2018-12-05
    相关资源
    最近更新 更多