Apache flex flex-zend amf-如何转换为与mongodb兼容的日期?

Apache flex flex-zend amf-如何转换为与mongodb兼容的日期?,apache-flex,date,mongodb,flash-builder,zend-amf,Apache Flex,Date,Mongodb,Flash Builder,Zend Amf,在flex(flash builder 4)中,我有一个Date()属性,我将它传递给Zend AMF(php),我希望将它(以及其他数据)存储在mongoDB中 Mongodb抱怨日期,因为它是一个Zend_date对象,它似乎是一个包含多个属性的对象,Mongodb说它不能接受空白属性 所以,我认为这意味着在我可以存储它之前,它需要转换成其他东西 如果是,我该怎么做 目前,我已经采取了将Zend_Date对象转换为日期字符串的方法来存储它(在php中): 这很好,我在mongodb中有一个日

在flex(flash builder 4)中,我有一个Date()属性,我将它传递给Zend AMF(php),我希望将它(以及其他数据)存储在mongoDB中

Mongodb抱怨日期,因为它是一个Zend_date对象,它似乎是一个包含多个属性的对象,Mongodb说它不能接受空白属性

所以,我认为这意味着在我可以存储它之前,它需要转换成其他东西

如果是,我该怎么做

目前,我已经采取了将Zend_Date对象转换为日期字符串的方法来存储它(在php中):

这很好,我在mongodb中有一个日期字符串

现在,当我从MongoDB加载日期时,我需要将其转换回Zend_日期,以便它在flex中正确地转换回date()对象(我必须检查它是否为空或在php中抛出错误):


这一切都是可行的,但似乎应该有一种更简单的方法从flex获取日期(),并通过Zend AMF/PHP将其存储在MongoDB中

有时我会尝试将日期存储为unix时间,这样我就可以不受影响了。它们易于存储(只是一个数字),易于初始化,是几乎所有语言(包括PHP)的通用概念。AS3 unix时间与其他unix时间之间的唯一区别在于AS3的精确度更高,千秒而不是秒

实际上,unix时间是以秒为单位的,因为在我出生之前。1970年1月1日。见:

阅读: 相关堆栈溢出:

Yep,或
New Date().getTime()
,并设置:
yourDate.setTime(numberofmillissecondspastjan1_1970)
$object->readyDT=date("m/d/Y H:i", strtotime($object->readyDT)); //convert to string
if (isset($object->readyDT) && $object->readyDT!=="") $object->readyDT = new Zend_Date($object->readyDT, 'MM/dd/yyyy hh:mm');