这篇文章主要介绍了PHP入门教程之日期与时间操作,结合实例形式总结分析了php针对日期与时间的验证、格式化、获取、转换、计算等相关操作,需要的朋友可以参考下

本文实例讲述了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 取得当前时间的时间戳
 //转换成(dong)人(zuo)可以看得懂的时间
 //第二个参数,对于本例来讲,放与不放,是一样的。
 //echo date('Y-m-d H:i:s',$a['sec']);
 print_r(gettimeofday(0));
 echo gettimeofday(1);
?>

Demo4.php

<?php
 //将时间戳转换成(dong)人(zuo)可以看的懂的时间
 //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数组(Array)操作大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作汇总》

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

最新资讯
Netflix纪录片《社交困境》让用户重新评估Facebook等社交媒体

Netflix纪录片《社交

Netflix发布名为《社交困境》(The Social Dilemma)新纪
滴滴张博:智慧交通大脑将在交通基础设施变革中扮演重要角色

滴滴张博:智慧交通大脑

滴滴出行CTO张博表示,智慧交通大脑将在交通基础设施变
微信发布iOS 7.0.16测试版:聊天框可选不显示

微信发布iOS 7.0.16测

在微信7.0.16 for iOS测试版中,聊天会话除了可以执行“
美司法部控告六人涉嫌贿赂亚马逊员工以获得市场优势

美司法部控告六人涉嫌

据报道,美国司法部周五指控六人参与贿赂亚马逊员工和承
最新发现的一次大灭绝事件

最新发现的一次大灭绝

2.33亿年前,地球成为“炼狱”。在我们现在所知的加拿大
拯救替罪羊,科学能帮到我们什么?

拯救替罪羊,科学能帮到

被错误指控的人,即使最终能洗脱罪名,通常也需要多年的等
最新文章
PHP数据源架构模式之表入口模式实例分析

PHP数据源架构模式之

这篇文章主要介绍了PHP数据源架构模式之表入口模式,结
php面向对象基础详解【星际争霸游戏案例】

php面向对象基础详解

这篇文章主要介绍了php面向对象基础,结合星际争霸游戏
php设计模式之抽象工厂模式分析【星际争霸游戏案例】

php设计模式之抽象工

这篇文章主要介绍了php设计模式之抽象工厂模式,结合星
php设计模式之建造器模式分析【星际争霸游戏案例】

php设计模式之建造器

这篇文章主要介绍了php设计模式之建造器模式,结合星际
php的RSA加密解密算法原理与用法分析

php的RSA加密解密算法

这篇文章主要介绍了php的RSA加密解密算法原理与用法,
laravel框架模型和数据库基础操作实例详解

laravel框架模型和数

这篇文章主要介绍了laravel框架模型和数据库基础操作,