use*_*659 13 php time date mongodb isodate
我想将PHP生成的当前日期作为ISO日期格式存储到MongoDB集合中.
ISODate("2012-11-02T08:40:12.569Z")
Run Code Online (Sandbox Code Playgroud)
但是我无法在php中生成这种类型的日期,它将作为ISODate格式存储在MongoDB中.
这就是我所做的.
 $d = new MongoDate(time());
 echo $d;
Run Code Online (Sandbox Code Playgroud)
它正在输出类似的东西,
0.00000000 1353305590
Run Code Online (Sandbox Code Playgroud)
这不是我需要的格式.这该怎么做?
Kav*_*gel 16
您可以运行该__toString功能,或使用该sec字段
__toString将返回usecs中的时间戳,您可以date()在将秒与毫秒分开后传递给它- 请在此处阅读:http://us1.php.net/manual/en/mongodate.tostring.php
或者,我个人更喜欢mongodb只返回秒,可以直接插入date()- 在这里阅读:http://php.net/manual/en/class.mongodate.php
此外,如果您现在正在生成MongoDate(),则无需指定time();
要返回isodate,您需要这样做:
echo date(DATE_ISO8601, (new MongoDate())->sec);
Run Code Online (Sandbox Code Playgroud)
...
$exampleDate = new MongoDate();
echo date(DATE_ISO8601, $exampleDate->sec);
Run Code Online (Sandbox Code Playgroud)
编辑:要保存ISO日期,您需要执行以下操作:
$mongoDateObject = new MongoDate(strtotime("2012-11-02T08:40:12.569Z"));
Run Code Online (Sandbox Code Playgroud)