未定义MongoDate toDateTime()函数?

时间:2015-05-26 21:32:11

标签: php mongodb datetime

这让我感到难过......我使用了以下的确切示例:

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

1 个答案:

答案 0 :(得分:0)

对于任何迟到这个问题的人(正如我所做的那样),可能的问题是PHP正在使用不同的Mongo驱动程序。目前有2个以下代码用于传统驱动程序。 使用旧版驱动程序的解决方案是使用PHP日期函数从Mongo Date获取日期:

{{1}}