Php 致命错误:调用未定义的方法DateTime::setTimestamp()

Php 致命错误:调用未定义的方法DateTime::setTimestamp(),php,Php,仅在一台特定服务器上获取上述错误,而不是在其他服务器上。假设这是一个php版本问题。 以下是触发错误的代码: //get time interval static function get_interval($now, $post_time){ $datetime1 = new DateTime(); $datetime1->setTimestamp($now); 最后一行是导致问题的原因。有什么想法吗?如果您的PHP版本低于5.3,那么您可以使用

仅在一台特定服务器上获取上述错误,而不是在其他服务器上。假设这是一个php版本问题。 以下是触发错误的代码:

//get time interval
    static function get_interval($now, $post_time){
        $datetime1 = new DateTime();
        $datetime1->setTimestamp($now);

最后一行是导致问题的原因。有什么想法吗?

如果您的PHP版本低于5.3,那么您可以使用该类来使用函数“setTimestamp”和“getTimestamp”:


升级到5.3.0+?如果由于某种原因无法实现,请自己实现该方法(查看手册页面中关于该方法的第二条注释)
<?php

class MyDateTime extends DateTime
{
    public function setTimestamp( $timestamp )
    {
        $date = getdate( ( int ) $timestamp );
        $this->setDate( $date['year'] , $date['mon'] , $date['mday'] );
        $this->setTime( $date['hours'] , $date['minutes'] , $date['seconds'] );
    }

    public function getTimestamp()
    {
        return $this->format( 'U' );
    }
}

$date = new MyDateTime();
$date->setTimestamp( $someTimestamp );

echo $date->format( 'd/m/Y H:i:s' );

?>