PHP 5.2中的PHP 5.3 DateTime

前端之家收集整理的这篇文章主要介绍了PHP 5.2中的PHP 5.3 DateTime前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在本地计算机上使用 PHP 5.3中的DateTime对象,并且提供了一些有用的东西,但是我的主机(NFS)仅运行5.2,并且不计划升级,直到5.3.1出来.

所以我的问题是,这段代码是否可以使用5.2?
具体来说,5.2中不存在DateTime :: getTimestamp

nicetime.PHP包含类似于这里的一个http://cz2.php.net/manual/en/function.time.php#89415基本上它只输出时间戳到/之前多长时间)

include('include/nicetime.PHP');

if(isset($_GET['hour']) && isset($_GET['min']) && isset($_GET['AP']) && isset($_GET['TZ'])){
    if($_GET['AP'] == 'PM'){
        $reqHour = $_GET['hour']+12;
    }else{
        $reqHour = $_GET['hour'];
    }

    $reqHour = ($_GET['AP'] == 'PM' ? $_GET['hour']+12 : $_GET['hour']);
    $reqMin = ($_GET['min'] == 0 ? '00': $_GET['min']);

    date_default_timezone_set($_GET['TZ']); 
    $reqDate = date_create($reqHour.':'.$reqMin);

    echo '<h3>'.nicetime($reqDate->getTimestamp()).'</h3>';
}

?>

如果你想知道它是什么意思,那么用户想知道一段时间到一个与他们不同的时区不同的时间.例如,英国的9PM是什么时候?从现在开始2个小时.

最后一行必须翻译成
echo '<h3>' . $reqDate->format('U') . '</h3>';

为了使用PHP 5.2.其他的,看起来不错.

编辑:
您可以将DateTime子类化以提供前向兼容的解决方案:

class MyDateTime extends DateTime {
    public function getTimestamp() {
         return method_exists('DateTime','getTimestamp') ? 
             parent::getTimestamp() : $this->format('U');
    }
}

猜你在找的PHP相关文章