PHP时间处理类操作示例


Posted in PHP onSeptember 05, 2018

本文实例讲述了PHP时间处理类操作。分享给大家供大家参考,具体如下:

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

  • DateTime :时间类
  • DateTimeZone:时区内
  • DateInterval:表示一段时间间隔,它是时间对象做加减法的单位。
  • DatePeriod:表示一段时间集合。结合DateInterval可对集合内的时间遍历处理。

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

<?php
function 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:00
showTimeObj('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('2018-08-08',$timezones);
$end = new DateTime('2018-08-09',$timezones);
$timeRange = new DatePeriod($start,$interval,$end);
foreach ($timeRange as $hour)
{
  showTimeObj(NULL,$hour);
}
?>

上述代码运行结果:

current time:
2018-09-04T15:23:46+08:00

use DateInterval object to add date time:
current time + 1 day:
2018-09-05T15:23:46+08:00
current time + 1 day & 1hour:
2018-09-05T16:23:46+08:00

use DatePeriod to process time range like a iterator:
2018-08-08T00:00:00+08:00
2018-08-08T02:00:00+08:00
2018-08-08T04:00:00+08:00
2018-08-08T06:00:00+08:00
2018-08-08T08:00:00+08:00
2018-08-08T10:00:00+08:00
2018-08-08T12:00:00+08:00
2018-08-08T14:00:00+08:00
2018-08-08T16:00:00+08:00
2018-08-08T18:00:00+08:00
2018-08-08T20:00:00+08:00
2018-08-08T22:00:00+08:00

PHP 相关文章推荐
在Windows版的PHP中使用ADO
Oct 09 PHP
escape unescape的php下的实现方法
Apr 27 PHP
PHP 数据库树的遍历方法
Feb 06 PHP
php 表单提交大量数据发生丢失的解决方法
Mar 03 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
ThinkPHP实现动态包含文件的方法
Nov 29 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
Apr 07 PHP
CI框架实现框架前后端分离的方法详解
Dec 30 PHP
PHP实现登录注册之BootStrap表单功能
Sep 03 PHP
php变量与JS变量实现不通过跳转直接交互的方法
Aug 25 PHP
PHP中$GLOBALS与global的区别详解
Mar 21 PHP
Yii2 queue的队列使用详解
Jul 19 PHP
PHP命名空间与自动加载类详解
Sep 04 #PHP
ThinkPHP框架实现定时执行任务的两种方法分析
Sep 04 #PHP
php 后端实现JWT认证方法示例
Sep 04 #PHP
PHP利用Mysql锁解决高并发的方法
Sep 04 #PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
Sep 03 #PHP
PHP实现的AES双向加密解密功能示例【128位】
Sep 03 #PHP
PHP实现的日历功能示例
Sep 01 #PHP
You might like
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
javascript 当前日期加(天、周、月、年)
2009/08/09 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
js 为label标签和div标签赋值的方法
2013/08/08 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
2016/07/01 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
javascript用rem来做响应式开发
2018/01/13 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
小程序清理本地缓存的方法
2018/08/17 Javascript
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
零基础之Node.js搭建API服务器的详解
2019/03/08 Javascript
原生JS实现相邻月份日历
2020/10/13 Javascript
python中list列表的高级函数
2016/05/17 Python
python实现多线程抓取知乎用户
2016/12/12 Python
Python解决N阶台阶走法问题的方法分析
2017/12/28 Python
利用python实现周期财务统计可视化
2019/08/25 Python
python线程join方法原理解析
2020/02/11 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
学校社团活动总结
2015/05/07 职场文书
英文辞职信范文
2015/05/13 职场文书
预备党员入党感想
2015/08/10 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA