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+javascript的日历控件
Nov 19 PHP
基于Zookeeper的使用详解
May 02 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
Mar 12 PHP
PHP利用APC模块实现文件上传进度条的方法
Jan 26 PHP
php实现指定字符串中查找子字符串的方法
Mar 17 PHP
PHP中error_reporting()用法详解
Aug 31 PHP
php获取远程文件大小
Oct 20 PHP
详解Yii2.0 rules验证规则集合
Mar 21 PHP
php无限级分类实现评论及回复功能
Feb 18 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
Feb 28 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设计模式 Factory(工厂模式)
2011/06/26 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
详谈PHP程序Laravel 5框架的优化技巧
2016/07/18 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
PHP array_shift()用法实例分析
2019/01/07 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
jquery tools 系列 scrollable学习
2009/09/06 Javascript
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
jQuery插件jsonview展示json数据
2018/05/26 jQuery
JS中使用react-tooltip插件实现鼠标悬浮显示框
2019/05/15 Javascript
Python机器学习之SVM支持向量机
2017/12/27 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
Python进行统计建模
2020/08/10 Python
以实惠的价格提供高品质的时尚:Newchic
2018/01/18 全球购物
安踏官方商城:anta.cn
2019/12/16 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
新闻记者实习自我鉴定
2013/09/19 职场文书
教师推荐信范文
2013/11/24 职场文书
项目合作意向书范本
2014/04/01 职场文书
支行行长岗位职责
2015/02/15 职场文书
mysql在项目中怎么选事务隔离级别
2021/05/25 MySQL
Mysql数据库命令大全
2021/05/26 MySQL
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
linux下安装redis图文详细步骤
2021/12/04 Redis