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的目录里,就不会被识别
//echodate('现在的日期是:Y-m-d');//现在的日期是:2015-04-20
//时分秒=H表示24小时制的小时,
//明明是19,为什么显示11点呢,东八区,差8个小时
//现在没有经过任何设置,所以时间在默认时区上
//echodate('现在的日期是:Y-m-dH:i:s');
//重点是年月日,时分秒
echodate('r');
echodate('现在的日期是:Y-m-dH:i:sa');
?>
Demo3.php
<?php
//取得当前的时间,返回一个数组
//"sec"-自Unix纪元起的秒数
//"usec"-微秒数
//"minuteswest"-格林威治向西的分钟数
//"dsttime"-夏令时修正的类型
//print_r(gettimeofday());
//第一数组的元素就是时间戳
//gettimeofday()就是取得的当前时间的时间戳
//$a=gettimeofday();
//sec取得当前时间的时间戳
//转换成人可以看得懂的时间
//第二个参数,对于本例来讲,放与不放,是一样的。
//echodate('Y-m-dH:i:s',$a['sec']);
print_r(gettimeofday(0));
echogettimeofday(1);
?>
Demo4.php
<?php
//将时间戳转换成人可以看的懂的时间
//date()函数的第二个参数就是时间戳
//如果第二个参数省略了,那么就返回当前时间
//如果第二个参数没有省略,那么就返回那个时间戳的时间
echodate('Y-m-dH: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
//直接获取当前时间戳
//echotime();//1429526328
//这个time()可以调整时间
//大家可以发现time()很有用处,可以过去现在和将来
echodate('Y-m-dH:i:s',time()+60*60*8);
?>
Demo7.php
<?php
//获取特定指定时间的时间戳
//这是当前的时间戳
//echotime();
//我要取得2008-08-0808:08:08
$beijing2008=mktime(8,8,8,8,8,2008);
echodate('Y-m-dH:i:s',$beijing2008);
?>
Demo8.php
<?php //使用时间戳计算时间差 $now=time();//当前的时间戳 $wnow=mktime(0,0,0,8,16,2016); //两个时间戳相减可以得到差秒 echoround(($wnow-$now)/60/60,2).'相差这几个小时'; ?>
Demo9.php
<?php
//将人可读的时间,字符串形式,转换成时间戳
$a=strtotime('2010-7-1615:15:15')-strtotime('2010-7-1615:14:15');
if($a>=60){
echo'请这位先生休息一会。';
}else{
echo$a;
}
?>
Demo10.php
<?php
//获取当前文件的修改时间戳
echodate('Y-m-dH:i:s',getlastmod());
?>
Demo11.php
<?php
//配置系统环境变量
echodate('Y-m-dH:i:s');
echo'<br/>';
//我开始设置时区
putenv('Tz=Asia/Shanghai');
echodate('Y-m-dH:i:s');
?>
Demo12.php
<?php
//putenv('Tz=Asia/Shanghai');
//获取当前时区
echodate_default_timezone_get();
echo'<br/>';
//开始配置默认时区
date_default_timezone_set('Asia/Shanghai');
echodate('Y-m-dH:i:s');
echo'<br/>';
echodate_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;
functionfn(){
list($a,$b)=explode('',microtime());
return$a+$b;//返回出精确的秒数
}
//在页面打开的时候,获取一个时间
$start_time=fn();
for($i=0;$i<10000000;$i++){
//
}
//页面结束的时候,获取一个时间
$end_time=fn();
echoround(($end_time-$start_time),4);
?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。