php中的timer函数,PHP之日期时间函数回顾

1.前言

PHP的日期时间是非常有趣的,当然在面试时候也经常考察,这既是基础的考验,也是对自身学习是否细致的考量,下面一起把它总结一下吧。

2.日期时间常用函数的使用

2.1如何设置时区

默认是UTC,世界时间;而中国时区是PRC

2.1.1第一种:设置php文件

;第一种:设置php.ini文件[Date]date.timezone=Europe/Pairs

2.1.2第二种:动态设置时区

/*** 第二种:动态设置时区*/echo'当前时区为:'.date_default_timezone_get().'';//得到当前时区

date_default_timezone_set('Asia/Shanghai');//设置当前时区echo'当前时区为:'.date_default_timezone_get().'';

2b9eeccec4b5a6e8c4d80c1a1b9375a4.png

2.1.3第三种:Ini_set运行时设置选项

/**

* 第三种:Ini_set运行时设置选项

*/

echoini_get('date.timezone').'
';

ini_set('date.timezone','Asia/Shanghai');

echoini_get('date.timezone').'
';

98227824896bf3ca7b3cfa9d178f1ed9.png

2.2 date函数的应用以及常用参数解析

2.2.1date()函数的使用以及常用参数介绍

format

说明

返回值

Y

4位完整的年份

例如2020

m

月份,带前导零

01-12

d

月份中第几天,有前导零的2位数字

01-31

H

小时,24小时格式,有前导零

00-23

i

有前导零的分钟数

00-59

s

秒数,有前导零

00-59

代码演示:

<?phpheader ('content-type:text/html;charset:utf-8');echodate('Y-m-d H:i:s').'
';

//y表示两位的年份,n表示不带前导零的月份,j不带前导零的日期echodate('y-n-j H:i:s');

4630e231357264831d9a7b13bea2ad1f.png

2.2.2输出年月日星期几

//动态获得星期几,date('w');获得一周内的第几天,返回值为0-6switch(date('w')) {case0:$dataSrt='日';break;case1:$dataSrt='一';break;case2:$dataSrt='二';break;case3:$dataSrt='三';break;case4:$dataSrt='四';break;case5:$dataSrt='五';break;case6:$dataSrt='六';break;default:$dataSrt='非法日期';break;

}echodate('Y年m月d日').' '.'星期'.$dataSrt;

11ff587ea22004c48753451239f99e74.png

2.2.3检测是否是闰年

//检测是否是闰年

//对4取余为0,对100取余不等于0或者对400取余为0

$year=date('Y');if($year%4==0&&($year%100!=0||$year%400==0)) {echo$year.'是闰年';

}else{echo$year.'不是闰年';

}echo'
';

//对于检测今年是否是闰年,有个函数date('L'),是为1,否为0if(date('L')) {echo'今年是闰年';

}else{echo'今年不是闰年';

}

0c9aa34cbc31e66f393c0ab62fbf119a.png

2.2.4检测本周/本天是全年第几周/第几天

//获得本周是全年的第几周

echo'
'.'本周是全年的第'.date('W').'周';

cd5829158a19a0c53be477cdd13b891f.png

//获得本天是全年的第几天

echo'
'.'本天是全年的第'.date('z').'天';

77962762fb0b92723b02dcf34c5a74ba.png

2.3时间戳的使用

时间戳:从1970年1月1日00:00:00到当前时间所经历的秒数

2.3.1获取当前时间戳是使用time()函数

2.3.2获得某个日期的时间戳是使用mktime()函数

//获得某个日期的时间戳是使用mktime()函数

//mktime(h,i,s,n,j,Y);echomktime(0,0,0,8,12,2016);echodate('Y-m-d H:i:s',mktime(0,0,0,8,12,2016)),'
';echodate('Y-m-d H:i:s',mktime(0,0,0,8,12)),'
';echodate('Y-m-d H:i:s',mktime(0,0,0,8)),'
';echodate('Y-m-d H:i:s',mktime(0,0,0)),'
';echodate('Y-m-d H:i:s',mktime(0,0)),'
';echodate('Y-m-d H:i:s',mktime(0)),'
';

6326bae003f920b4c8e9418c34c7ce32.png

2.3.3面试题:计算两个日期的时间差

//计算我的年龄

//出生日期

$birth=mktime(0,0,0,10,25,1996);

//获得当前时间

$time=time();

$age=floor(($time-$birth)/(24*3600*365));

b7172b7fca4c979227773267caf03bff.png

2.4 strtotime函数的使用

header('content-type:text/html;charset:utf-8');

echotime(),'
';

echostrtotime('now'),'
';

echodate('Y-m-d H:i:s',time()),'
';

echodate('Y-m-d H:i:s',time()+24*3600),'
';

echodate('Y-m-d H:i:s',strtotime('+1 day')),'
';

echodate('Y-m-d H:i:s',strtotime('-1 day')),'
';

echodate('Y-m-d H:i:s',strtotime('+5 days')),'
';

echodate('Y-m-d H:i:s',strtotime('+1 month')),'
';

echodate('Y-m-d H:i:s',strtotime('+2 years 3 months 12 days')),'
';

echodate('Y-m-d H:i:s',strtotime('last Monday')),'
';

c1c83b43260050bb761b614e465eabec.png

2.5微秒及其它常用日期时间函数的使用

通过microtime()获取微秒

2.5.1通过微秒实现计算PHP的执行时间

<?phpheader ('content-type:text/html;charset:utf-8');echomicrotime(),'
';echotime(),'
';echomicrotime(true),'
';echo'


';

$start = microtime(true);for($i=1;$i<=10000;$i++){

$arr[]=$i;

}

$end = microtime(true);echo'程序执行时间为:',round($end-$start,4);

94df65100b68df16eb539e8f3ec34110.png

2.6其他常用时间函数的使用

getdate()//得到日期时间像个信息

gettimeofday()//得到当前的日期时间

checkdate()//验证日期的合法性,是为1,否为0

2.7 H5中新增日期时间相关控件的使用

2.7.1 HTML5中的新增表单控件

HTML5中的新增表单控件

H5新增表单日期时间相关的控件

0efbbdf07ef38e9d2f6207d3ec5404c1.png

2.7.2 jquery datetimepicker 插件的使用

jquery datetimepicker 插件的使用

$('#datetimepicker').datetimepicker();

还可以对其设置初始日期值,如下图所示

$('#datetimepicker').datetimepicker();

$('#datetimepicker1').datetimepicker({value:'2020-5-12'});//对其设置初始日期值

35bfd52352ee3ffe31da8ae45e82ca69.png

2.7.3jquery timer plugin插件的使用

jquery timer plugin插件的使用
DaysHoursMinutesSeconds

jQuery(function($){

$('#new_year').flipcountdown({

size:'lg',

beforeDateTime:'10/25/1996 00:00:01'//开始时间,计算距今多少天

});

});

8d9886557812044d1a604708c19d261c.png

3.总结

通过上述总结,我们基本掌握了php日期时区的多种设置方法,date()函数的应用及其设计的一些常见面试题,time()函数、mktime()函数、strtotime()函数获取不同时间时间戳,microtime()函数获取微秒,并简单地介绍了一些关于时间的JS控件的应用,希望通过本次回顾和学习,更好地掌握关于时间的函数应用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值