1

日時をデータベースに永続化する方法がわかりません。私は文字列を持っています

    (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)

動作していません:(

4

1 に答える 1

1

DateTimeオブジェクトを渡す必要があります。新しいステートメントで作成します。最初のコンストラクターパラメーターで使用する時間を指定できます。

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

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

タイムゾーンを指定する必要がある場合は、DateTimeZoneクラスを使用して、それを2番目のパラメーターとしてDateTimeコンストラクターに渡すことができます。

于 2013-02-02T19:29:55.867 に答える