我无法理解如何将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)
不工作:(
答案 0 :(得分:1)
您需要传递一个DateTime对象。使用新语句创建它,您可以指定与第一个构造函数参数一起使用的时间。
$currentTime = new \DateTime((string) $oXml->currentTime);
$cachedUntil = new \DateTime((string) $oXml->cachedUntil);
$oApiKeyInfo->setCurrentTime($currentTime)
->setCachedUntil($cachedUntil);
如果需要指定时区,可以使用DateTimeZone类并将其作为第二个参数传递给DateTime构造函数。