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 相关文章推荐
建立文件交换功能的脚本(二)
Oct 09 PHP
PHP与MySQL开发中页面乱码的产生与解决
Mar 27 PHP
php checkbox 取值详细说明
Aug 19 PHP
php 获取全局变量的代码
Apr 21 PHP
解析php二分法查找数组是否包含某一元素
May 23 PHP
浅析php中常量,变量的作用域和生存周期
Aug 10 PHP
php 模拟post_验证页面的返回状态(实例讲解)
Oct 28 PHP
Laravel框架中扩展函数、扩展自定义类的方法
Sep 04 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
Oct 23 PHP
PHP中shuffle数组值随便排序函数用法
Nov 21 PHP
PHP cURL获取微信公众号access_token的实例
Apr 28 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 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
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
jQuery实现切换页面过渡动画效果
2015/10/29 Javascript
jQuery+JSON实现AJAX二级联动实例分析
2015/12/18 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
2016/09/24 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
纯js实现倒计时功能
2017/01/06 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
JavaScript中创建对象的7种模式详解
2017/02/21 Javascript
socket.io学习教程之基本应用(二)
2017/04/29 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
浅谈vuex中store的命名空间
2019/11/08 Javascript
javascript异常处理实现原理详解
2020/02/17 Javascript
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
浅述python2与python3的简单区别
2018/09/19 Python
python入门之井字棋小游戏
2020/03/05 Python
pycharm激活码快速激活及使用步骤
2020/03/12 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
电子商务专业学生的学习自我评价
2013/10/27 职场文书
杜甫草堂导游词
2015/02/03 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书