PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)


Posted in PHP onSeptember 11, 2016

本文实例讲述了PHP日期与时间操作技巧。分享给大家供大家参考,具体如下:

Demo1.php

<?php
 //验证时间
 //checkdate() 1.月份 2.日 3.年
 //checkdate() 判断这个日期是否是合法的日期
 //不合法的日期,试一试
 if(checkdate(7,16,2010)){
  echo '这个日期是合法有效的';
 }else{
  echo '这个日期是非法的。';
 }
?>

Demo2.php

<?php
 //date -- 格式化一个本地时间/日期
 //date(), 彻底研究一下
 //date() 可以存放两个参数,第一参数是日期和时间的格式化,[第二参数是时间戳]
 //Y 表示四位数的年份, y表示二位数的年份
 //M 表示英文的月份缩写,m 表示阿拉伯数字的月份
 //D 表示英文下的星期几缩写,d 表示阿拉伯数字的日
 //第一个参数的格式化可以放一些无关紧要的字符串
 //只要无关紧要的字符串不再 format 的目录里,就不会被识别
 //echo date('现在的日期是:Y-m-d'); //现在的日期是:2015-04-20
 //时分秒 = H 表示24小时制的小时,
 //明明是 19 ,为什么显示 11 点呢,东八区,差 8 个小时
 //现在没有经过任何设置,所以时间在默认时区上
 //echo date('现在的日期是:Y-m-d H:i:s');
 //重点是年月日,时分秒
 echo date('r');
 echo date('现在的日期是:Y-m-d H:i:sa');
?>

Demo3.php

<?php
 //取得当前的时间,返回一个数组
 //"sec" - 自 Unix 纪元起的秒数
 //"usec" - 微秒数
 //"minuteswest" - 格林威治向西的分钟数
 //"dsttime" - 夏令时修正的类型
 //print_r(gettimeofday());
 //第一数组的元素就是时间戳
 //gettimeofday() 就是取得的当前时间的时间戳
 //$a = gettimeofday();
 //sec 取得当前时间的时间戳
 //转换成人可以看得懂的时间
 //第二个参数,对于本例来讲,放与不放,是一样的。
 //echo date('Y-m-d H:i:s',$a['sec']);
 print_r(gettimeofday(0));
 echo gettimeofday(1);
?>

Demo4.php

<?php
 //将时间戳转换成人可以看的懂的时间
 //date() 函数的第二个参数就是时间戳
 //如果第二个参数省略了,那么就返回当前时间
 //如果第二个参数没有省略,那么就返回那个时间戳的时间
 echo date('Y-m-d H:i:s',24554457865);
?>

Demo5.php

<?php
 //getdate() 也可以转换时间戳
 //print_r(getdate());
 //Array ( [seconds] => 26 [minutes] => 34 [hours] => 10 [mday] => 20 [wday] => 1 [mon] => 4
 //[year] => 2015 [yday] => 109 [weekday] => Monday [month] => April [0] => 1429526066 )
 $t = getdate();
 echo $t['year'];
 //传递一个时间戳
 print_r(getdate(1029526066));
?>

Demo6.php

<?php
 //直接获取当前时间戳
 //echo time();//1429526328
 //这个 time() 可以调整时间
 //大家可以发现 time() 很有用处,可以过去现在和将来
 echo date('Y-m-d H:i:s',time()+60*60*8);
?>

Demo7.php

<?php
 //获取特定指定时间的时间戳
 //这是当前的时间戳
 //echo time();
 //我要取得 2008-08-08 08:08:08
 $beijing2008 = mktime(8,8,8,8,8,2008);
 echo date('Y-m-d H:i:s',$beijing2008);
?>

Demo8.php

<?php
 //使用时间戳计算时间差
 $now = time();//当前的时间戳
 $wnow = mktime(0,0,0,8,16,2016);
 //两个时间戳相减可以得到差秒
 echo round(($wnow - $now)/60/60,2).'相差这几个小时';
?>

Demo9.php

<?php
 //将人可读的时间,字符串形式,转换成时间戳
 $a = strtotime('2010-7-16 15:15:15')-strtotime('2010-7-16 15:14:15');
 if($a >= 60){
  echo '请这位先生休息一会。';
 }else{
  echo $a;
 }
?>

Demo10.php

<?php
 //获取当前文件的修改时间戳
 echo date('Y-m-d H:i:s',getlastmod());
?>

Demo11.php

<?php
 //配置系统环境变量
 echo date('Y-m-d H:i:s');
 echo '<br/>';
 //我开始设置时区
 putenv('Tz=Asia/Shanghai');
 echo date('Y-m-d H:i:s');
?>

Demo12.php

<?php
 //putenv('Tz=Asia/Shanghai');
 //获取当前时区
 echo date_default_timezone_get();
 echo '<br/>';
 //开始配置默认时区
 date_default_timezone_set('Asia/Shanghai');
 echo date('Y-m-d H:i:s') ;
 echo '<br/>';
 echo date_default_timezone_get();
?>

Demo13.php

<?php
 date_default_timezone_set('Asia/Shanghai');
 //"tm_sec" - 秒数
 //"tm_min" - 分钟数
 //"tm_hour" - 小时
 //"tm_mday" - 月份中的第几日
 //"tm_mon" - 年份中的第几个月,从 0 开始表示一月
 //"tm_year" - 年份,从 1900 开始
 //"tm_wday" - 星期中的第几天
 //"tm_yday" - 一年中的第几天
 //"tm_isdst" - 夏令时当前是否生效
 print_r(localtime(time(),true));
 //Array ( [tm_sec] => 37 [tm_min] => 15 [tm_hour] => 19
 //[tm_mday] => 20 [tm_mon] => 3 [tm_year] => 115
 //[tm_wday] => 1 [tm_yday] => 109 [tm_isdst] => 0 )
?>

Demo14.php

<?php
 //返回时间戳和微秒数
 //怎么计算页面运行加载时间
 //页面打开的时候获取一个时间
 //页面结束的时候获取一个时间
 //用结束的时间减去打开的时间,那么就是运行时间
// list($a,$b)=explode(' ',microtime());
// echo $b;
 function fn(){
  list($a,$b)=explode(' ',microtime());
  return $a+$b; //返回出精确的秒数
 }
 //在页面打开的时候,获取一个时间
 $start_time = fn();
 for($i=0;$i<10000000;$i++){
  //
 }
 //页面结束的时候,获取一个时间
 $end_time = fn();
 echo round(($end_time - $start_time),4);
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
解析php中获取系统信息的方法
Jun 25 PHP
PHP变量内存分配问题记录整理
Nov 27 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
Nov 25 PHP
php生成PDF格式文件并且加密
Jun 22 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
php正则修正符用法实例详解
Dec 29 PHP
PHP SFTP实现上传下载功能
Jul 26 PHP
PHP+RabbitMQ实现消息队列的完整代码
Mar 20 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 PHP
JS操作XML中DTD介绍及使用方法分析
Jul 04 PHP
PHP针对redis常用操作实例详解
Aug 17 PHP
php文件包含的几种方式总结
Sep 19 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
Sep 11 #PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 #PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
Sep 11 #PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
Sep 11 #PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 #PHP
PHP入门教程之数学运算技巧总结
Sep 11 #PHP
PHP入门教程之操作符与控制结构流程详解
Sep 09 #PHP
You might like
第二节 对象模型 [2]
2006/10/09 PHP
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
2017/12/14 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
Jquery中dialog属性小记
2010/09/03 Javascript
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
js禁止表单重复提交
2017/08/29 Javascript
js 开发之autocomplete=&quot;off&quot;在chrom中失效的解决办法
2017/09/28 Javascript
vue 双向数据绑定的实现学习之监听器的实现方法
2018/11/30 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
Python pytesseract验证码识别库用法解析
2020/06/29 Python
HTML5 语义化结构化规范化
2008/10/17 HTML / CSS
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
心得体会开头
2014/01/01 职场文书
四年级下册教学反思
2014/02/01 职场文书
安全承诺书格式范本
2015/04/28 职场文书
项目合作意向书
2015/05/08 职场文书
跑吧孩子观后感
2015/06/10 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书
关于五一放假的通知
2015/08/18 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书