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 相关文章推荐
DOMXML函数笔记
Oct 09 PHP
一个用php实现的获取URL信息的类
Jan 02 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
Jun 04 PHP
php XMLWriter类的简单示例代码(RSS输出)
Sep 30 PHP
php的大小写敏感问题整理
Dec 29 PHP
PHP setTime 设置当前时间的代码
Aug 27 PHP
PHP批量检测并去除文件BOM头代码实例
May 08 PHP
PHP实现的DES加密解密实例代码
Apr 06 PHP
PHP实现二维数组去重功能示例
Jan 12 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
Aug 11 PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
php的控制语句
2006/10/09 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
基于Linux调试工具strace与gdb的常用命令总结
2013/06/03 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
window.location.hash 属性使用说明
2010/03/20 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
jQuery下拉友情链接美化效果代码分享
2015/08/26 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
使用python批量修改文件名的方法(视频合并时)
2020/03/24 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
Python 忽略文件名编码的方法
2020/08/01 Python
Python中return函数返回值实例用法
2020/11/19 Python
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
公立医院改革实施方案
2014/03/14 职场文书
学习雷锋寄语大全
2014/04/11 职场文书
小学生优秀评语大全
2014/04/22 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技