0

Flex (flash builder 4) には、Zend AMF (php) に渡す Date() プロパティがあり、それ (および他のデータ) を mongoDB に保存したいと考えています。

Mongodb は、日付が Zend_Date オブジェクトとして表示されるため、日付について不平を言っています。これは、複数のプロパティを含むオブジェクトのように見え、Mongodb は空白のプロパティを受け入れることができないと言っています。

つまり、保存する前に別のものに変換する必要があるということですか?

もしそうなら、どうすればいいですか?

現時点では、Zend_Date オブジェクトを日付文字列に変換して (php で) 格納するというアプローチをとっています。

$object->readyDT=date("m/d/Y H:i", strtotime($object->readyDT)); //convert to string

それはうまくいき、その日付の文字列がmongodbにあります。

ここで、MongoDB から日付をロードするときに、それを Zend_Date に変換して、flex で Date() オブジェクトに適切に変換する必要があります (空白でないか、php でエラーをスローするかを確認する必要があります)。

if (isset($object->readyDT) && $object->readyDT!=="") $object->readyDT = new Zend_Date($object->readyDT, 'MM/dd/yyyy hh:mm');

これはすべて機能しますが、Flex から Date() を取得し、Zend AMF/PHP を介して MongoDB に保存するもっと簡単な方法があるはずです。?

4

1 に答える 1

1

時々、私はそれをうまくやることができるとき、日付をUNIX時間として保存しようとします。それらは簡単に(数だけ)保存でき、初期化も簡単で、ほとんどすべての言語(PHPを含む)で普遍的な概念です。AS3 UNIX時間と他のUNIX時間の唯一の違いは、AS3が秒ではなく、ミリ秒という少し正確なことです。

一言で言えば、UNIX時間は、私が生まれる前からの秒数で測定されます。1970年1月1日。参照:http://en.wikipedia.org/wiki/Unix_time

読み取り: http: //php.net/manual/en/function.time.php 関連するstackoverflow:PHP5およびActionscript3でUNIXタイムスタンプをミリ秒単位で取得

于 2011-07-26T20:54:05.817 に答える