这让我感到难过......我使用了以下的确切示例:
http://php.net/manual/en/mongodate.todatetime.php
但我得到了:
PHP致命错误:调用未定义的方法MongoDate :: toDateTime()
<?php
$d = new MongoDate(strtotime("2014-11-18 11:01:25"));
var_dump($d);
var_dump( $d->toDateTime() );
?>
我得到的确切输出是:
object(MongoDate)#1 (2) {
["sec"]=>
int(1416330085)
["usec"]=>
int(0)
}
PHP Fatal error: Call to undefined method MongoDate::toDateTime() in /xxx/testmongodate.php on line 5
PHP版本:
$ php -v
PHP 5.5.9-1ubuntu4.9 (cli) (built: Apr 17 2015 11:44:57)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
PHP配置:
$ php -i | grep mongo
/etc/php5/cli/conf.d/20-mongo.ini,
mongo
mongo.allow_empty_keys => 0 => 0
mongo.chunk_size => 262144 => 262144
mongo.cmd => $ => $
mongo.default_host => localhost => localhost
mongo.default_port => 27017 => 27017
mongo.is_master_interval => 15 => 15
mongo.long_as_object => 0 => 0
mongo.native_long => 0 => 0
mongo.ping_interval => 5 => 5
我已成功使用此安装来插入和读取实际的mongo数据库,但现在我尝试使用MongoDate对象,因为它们是从mongo中读取的,尝试将它们格式化以插入到另一个数据库...这就是为什么我要使用这种方法...但它似乎没有找到...... ??
$ uname -a
Linux server1 3.13.0-52-generic #86-Ubuntu SMP Mon May 4 04:32:59 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
答案 0 :(得分:0)
对于任何迟到这个问题的人(正如我所做的那样),可能的问题是PHP正在使用不同的Mongo驱动程序。目前有2个以下代码用于传统驱动程序。 使用旧版驱动程序的解决方案是使用PHP日期函数从Mongo Date获取日期:
{{1}}