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加密解密的代码
Jul 16 PHP
PHP面向对象分析设计的61条军规小结
Jul 17 PHP
PHP开发的一些注意点总结
Oct 12 PHP
php更改目录及子目录下所有的文件后缀扩展名的代码
Oct 12 PHP
PHP设计模式 注册表模式(多个类的注册)
Feb 05 PHP
php强制更新图片缓存的方法
Feb 11 PHP
在Linux系统下一键重新安装WordPress的脚本示例
Jun 30 PHP
php获取英文姓名首字母的方法
Jul 13 PHP
最新最全PHP生成制作验证码代码详解(推荐)
Jun 12 PHP
PHP echo()函数讲解
Feb 15 PHP
PHP中quotemeta()函数的用法讲解
Apr 04 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
Apr 13 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+MySQL插入操作实例
2015/01/21 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
php5.6.x到php7.0.x特性小结
2019/08/17 PHP
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
JS实现自动变换的菜单效果代码
2015/09/09 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
浅析vue插槽和作用域插槽的理解
2019/04/22 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
python逐行读取文件内容的三种方法
2014/01/20 Python
Python实现二分法算法实例
2015/02/02 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
FitFlop澳大利亚官网:英国符合人体工学的鞋类品牌
2017/06/05 全球购物
大学生职业生涯规划范文
2014/01/08 职场文书
高中军训感言800字
2014/03/05 职场文书
有创意的广告词
2014/03/18 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
前台岗位职责
2015/02/13 职场文书
爱心捐助活动总结
2015/05/09 职场文书
实验室安全管理制度
2015/08/05 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript
分析Python list操作为什么会错误
2021/11/17 Python
我家女友可不止可爱呢 公开OP主题曲无字幕动画MV
2022/04/11 日漫
Redis配置外网可访问(redis远程连接不上)的方法
2022/12/24 Redis