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 相关文章推荐
PHP 裁剪图片成固定大小代码方法
Sep 09 PHP
PHP用GD库生成高质量的缩略图片
Mar 09 PHP
php中的filesystem文件系统函数介绍及使用示例
Feb 13 PHP
PHP将进程作为守护进程的方法
Mar 19 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
php生成PDF格式文件并且加密
Jun 22 PHP
php 问卷调查结果统计
Oct 08 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
Jun 30 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
Dec 24 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
Apr 25 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
Jun 28 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 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
PHP4之COOKIE支持详解
2006/10/09 PHP
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
2009/10/31 PHP
基于Zend的Config机制的应用分析
2013/05/02 PHP
thinkphp连贯操作实例分析
2014/11/22 PHP
PHP生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
2016/05/13 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
Maps Javascript
2007/01/22 Javascript
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
javascript Discuz代码中的msn聊天小功能
2008/05/25 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
JS 自执行函数原理及用法
2019/08/05 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
2020/04/23 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
2020/11/05 Javascript
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
python变量不能以数字打头详解
2016/07/06 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
django框架基于模板 生成 excel(xls) 文件操作示例
2019/06/19 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
css3中transition属性详解
2014/09/02 HTML / CSS
玩具反斗城西班牙网上商城:ToysRUs西班牙
2017/01/19 全球购物
文秘应聘自荐书范文
2014/02/18 职场文书
一级电子管军用接收机测评
2022/04/05 无线电