加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP 5.2中的PHP 5.3 DateTime

发布时间:2020-12-13 16:41:24 所属栏目:PHP教程 来源:网络整理
导读:我正在本地计算机上使用 PHP 5.3中的DateTime对象,并且提供了一些有用的东西,但是我的主机(NFS)仅运行5.2,并且不计划升级,直到5.3.1出来. 所以我的问题是,这段代码是否可以使用5.2? 具体来说,5.2中不存在DateTime :: getTimestamp nicetime.php包含类似于这
我正在本地计算机上使用 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');
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读