Symfony2,Doctrine,如何设置实体的日期时间

时间:2013-02-02 18:54:56

标签: datetime symfony doctrine

我无法理解如何将datetime持久化到数据库。我有字符串

    (string) $oXml->currentTime

实际上它不是一个字符串,但我们将其转换,所以如何将它添加到实体而不会出现错误

    Fatal error: Call to a member function format() on a non-object in...

当前代码

    $currentTime = \DateTime::createFromFormat('Y-m-d H:m:s', (string) $oXml->currentTime);
    $cachedUntil = \DateTime::createFromFormat('Y-m-d H:m:s', (string) $oXml->cachedUntil);

    $oApiKeyInfo
            ->setCurrentTime($currentTime)
            ->setCachedUntil($cachedUntil)

不工作:(

1 个答案:

答案 0 :(得分:1)

您需要传递一个DateTime对象。使用新语句创建它,您可以指定与第一个构造函数参数一起使用的时间。

$currentTime = new \DateTime((string) $oXml->currentTime);
$cachedUntil = new \DateTime((string) $oXml->cachedUntil);

$oApiKeyInfo->setCurrentTime($currentTime)
  ->setCachedUntil($cachedUntil);

如果需要指定时区,可以使用DateTimeZone类并将其作为第二个参数传递给DateTime构造函数。