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 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
PHP游戏编程25个脚本代码
Feb 08 PHP
使用Sphinx对索引进行搜索
Jun 25 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
Mar 14 PHP
PHP将session信息存储到数据库的类实例
Mar 04 PHP
PHP中的一些常用函数收集
May 26 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
php基于SQLite实现的分页功能示例
Jun 21 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
PHP date()格式MySQL中插入datetime方法
Jan 29 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 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
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
2016/01/07 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
jQuery.extend()的实现方式详解及实例
2013/06/29 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
JavaScript数组操作详解
2017/02/04 Javascript
Vue常用指令V-model用法
2017/03/08 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
2017/03/09 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
通过实例解析javascript Date对象属性及方法
2020/11/04 Javascript
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
Python的Flask框架与数据库连接的教程
2015/04/20 Python
编写Python小程序来统计测试脚本的关键字
2016/03/12 Python
python使用turtle绘制分形树
2018/06/22 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
详解Python 函数参数的拆解
2020/09/02 Python
python re.match()用法相关示例
2021/01/27 Python
荷兰在线啤酒店:Beerwulf
2019/08/26 全球购物
医生实习工作总结的自我评价
2013/09/27 职场文书
人事主管的岗位职责
2013/11/16 职场文书
司机检讨书
2014/02/13 职场文书
主题教育活动总结
2014/05/05 职场文书
护理培训心得体会
2016/01/22 职场文书
2019年浪漫婚礼证婚词
2019/06/27 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python