【问题标题】:How I can convert date object into time in symfony2如何在 symfony2 中将日期对象转换为时间
【发布时间】:2012-10-10 01:49:57
【问题描述】:

我正在使用 Symfony2。从数据库中获取日期时,我需要在 index.html.php 中显示日期。

当我打印它的显示如下:DateTime Object ( [date] => 2012-10-09 13:30:23 [timezone_type] => 3 [timezone] => UTC )

但是当我将 object 转换为 int 时,它会给出错误:$days2 = floor( $entities->getCreationDate() / (60 * 60 * 24));

Notice: Object of class DateTime could not be converted to int**

【问题讨论】:

    标签: date datetime symfony


    【解决方案1】:

    如果您想从 DateTime 对象中获取整数时间戳,请使用 getTimeStamp method

    $date = new DateTime();
    echo $date->getTimestamp();
    

    【讨论】:

      【解决方案2】:

      我将添加这个作为第二个答案,因为它与我之前的非常不同。

      要在 PHP 中获取两个日期之间的差异,您可能需要考虑使用 PHP 的内置 DateTime 和 DateInterval 类。

      以下代码将为您提供创建日期与今天之间的天数差异:

      $creationDate = $entity->getCreationDate();
      $now = new \DateTime();
      
      $interval = $creationDate->diff($now);
      
      echo "The difference is " . $interval->days . " days.";
      

      有关 DateInterval 的更多文档:http://www.php.net/manual/en/class.dateinterval.php

      【讨论】:

        【解决方案3】:

        在 Twig 中显示 DateTime 对象的最佳方法是使用 Twig 的内置 date 函数:

        {{ entity.creationDate | date("m/d/Y") }}
        

        您实际上可以使用原生 PHP 函数 strtotime() 支持的任何格式,因此您可以自定义您希望它的显示方式。以下是您上面引用的实例的一些示例:

        {{ entity.creationDate | date("m/d/Y") }}
        --> Prints: "10/09/2012"
        
        {{ entity.creationDate | date("Y-m-d") }}
        --> Prints: "2012-10-09"
        
        {{ entity.creationDate | date("H:i") }}
        --> Prints: "13:30"
        

        这里有关于这个 Twig 函数的更多信息: http://twig.sensiolabs.org/doc/filters/date.html

        【讨论】:

        • 感谢您的回复。但我使用的是 .html.php 模板而不是树枝。我必须显示添加日期后的天数。
        • @AlokJain 为什么你的问题被标记为Twig?
        • @thecatontheflat 我的错;我添加了那个标签。现在删除它。
        猜你喜欢
        • 2017-01-08
        • 2022-08-18
        • 2018-11-03
        • 2011-12-02
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        • 2020-09-08
        • 2020-11-03
        相关资源
        最近更新 更多