php中的时间处理类

来源:互联网 发布:个人简历java项目 编辑:程序博客网 时间:2024/05/17 02:48

php中的几个时间处理类:DateTime,DateTimeZone,DateInterval,DatePeriod。

DateTime :时间类

DateTimeZone:时区内

DateInterval:表示一段时间间隔,它是时间对象做加减法的单位。

DatePeriod:表示一段时间集合。结合DateInterval可对集合内的时间遍历处理。

下面是这几个类的具体使用例子:

<?phpfunction showTimeObj($msg,$timeObj){    //使用预定义的格式来转换时间字符串    if ($msg!=NULL)    {        echo $msg.":";        echo "<br>".$timeObj->format(DATE_W3C)."<br>";    }    else    {        echo $timeObj->format(DATE_ATOM)."<br>";    }}try{   //设置时区    $timezones = new DateTimeZone('Asia/Shanghai');    //获取当前时间    $timeObj=new DateTime("now",$timezones);}catch (Exception $e){    echo $e->getMessage();}//输出的+08:00代表东八区、若把时区设为'Asia/Tokyo',则为+09:00showTimeObj('current time',$timeObj);echo "<br>"."<br>";echo "use DateInterval object to add date time".":"."<br>";//加上一天(P=period,必备)$timeObj->add(new DateInterval('P1D'));showTimeObj('current time + 1 day',$timeObj);//加上一小时(T=time,可选)$timeObj->add(new DateInterval('P0DT1H'));showTimeObj('current time + 1 day & 1hour',$timeObj);echo "<br>"."<br>";echo "use DatePeriod to process time range like a iterator".":"."<br>";//DatePeriod: 迭代处理区间内的日期$interval= new DateInterval('P0DT2H');$start = new DateTime('2008-08-08',$timezones);$end = new DateTime('2008-08-09',$timezones);$timeRange = new DatePeriod($start,$interval,$end);foreach ($timeRange as $hour){    showTimeObj(NULL,$hour);}?>

下面以上代码在浏览器中显示的结果:


PS:推荐两份资料,一份是国人翻译的《关于php容易混淆知识点的实用指南》、另一份是一个Laravel社区整理的几篇《最佳实践》

0 0
原创粉丝点击