PHP日期和时间函数的使用示例详解
这篇文章主要介绍了PHP日期和时间函数的使用示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
(1)查看日期函数拓展
phpinfo()
- <?php
- phpinfo();
打开上述页面之后,可以看到以下,证明已经安装日期拓展
浏览器输入php.net访问php的文档
(2)设置时区
方式一:修改配置文件php.ini
D:\ITSoft\wamp64\bin\php\php7.0.10\php.ini
- [Date]
- ; Defines the default timezone used by the date functions
- ; http://php.net/date.timezone
- date.timezone = PRC
- ; http://php.net/date.default-latitude
- ;date.default_latitude = 31.7667
- ; http://php.net/date.default-longitude
- ;date.default_longitude = 35.2333
- ; http://php.net/date.sunrise-zenith
- ;date.sunrise_zenith = 90.583333
- ; http://php.net/date.sunset-zenith
- ;date.sunset_zenith = 90.583333
方式二:date_default_timezone_set
- <?php
- echo '当前时区'.date_default_timezone_get(); //UTC
- var_dump(date_default_timezone_set('Asia/Shanghai'));//true
- echo '当前时区'.date_default_timezone_get(); //Asia/Shanghai
方式三:init_set
设置指定配置选项的值,这个选项会在脚本运行时保持新的值,并在脚本结束时恢复
- <?php
- echo ini_get('date.timezone'); //UTC
- ini_set('date.timezone','Asia/Shanghai');
- echo ini_get('date.timezone'); //Asia/Shanghai
(3)常用时间函数
常用参数
date使用
- <?php
- ini_set('date.timezone','Asia/Shanghai');
- echo date('Y年m月d日 H:i:s');//分隔符随意
- echo date('H:i:s a');//am pm
- echo date('w');//星期
- //判断是否闰年
- $runNian = date('L');
- if($runNian){
- echo '是闰年';
- }else{
- echo '不是闰年';
- }
time mktime的使用
- <?php
- //获取当前时间戳
- echo time();//1513757887
- //时间戳转换成date
- echo date('Y-m-d H:i:s',time());
- //一天后的时间
- echo date('Y-m-d H:i:s',time()+24*60*60);
- //获取指定日期的时间戳
- echo mktime(0,0,0,2,1,2016);//(H i s n j Y) 2016-2-1 0:0:0的时间戳 可以依次省略
strtotime使用
- <?php
- echo date('Y-m-d H:i:s',time());//2017-12-20 08:30:58
- echo date('Y-m-d H:i:s',strtotime('+1 day'));//2017-12-21 08:30:58
- echo date('Y-m-d H:i:s',strtotime('-5 days'));//2017-12-15 08:30:58
- echo date('Y-m-d H:i:s',strtotime('+1 month'));//2017-01-20 08:30:58
- echo date('Y-m-d H:i:s',strtotime('+5 months'));//2017-05-20 08:30:58
- echo date('Y-m-d H:i:s',strtotime("last Monday"));//2017-12-18 08:30:58
- echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
- microtime()
- <?php
- echo microtime(); //0.85666200 1513758991 两部分微妙值 时间戳
- echo microtime(true);// 1513759077.8005
其他函数
- <?php
- //获取当前日期
- print_r(getdate());
- // 输出如下
- //Array (
- // [seconds] => 53
- // [minutes] => 40
- // [hours] => 8
- // [mday] => 20
- // [wday] => 3
- // [mon] => 12
- // [year] => 2017
- // [yday] => 353
- // [weekday] => Wednesday
- // [month] =>
- // December [0] => 1513759253
- //)
- <?php
- //验证日期的合法性
- var_dump(checkdate(1,32,2014));//false
(4)时间控件的使用test.php
- <!DOCTYPE html>
- <html >
- <head>
- <meta charset="UTF-8">
- <title>H5新增表单控件</title>
- </head>
- <body>
- <h1>H5新增表单日期时间控件</h1>
- <form action='doAction.php' method='post'>
- <input type="date" name="datetime1" /><br>
- <input type="submit" value="提交"/>
- </form>
- </body>
- </html>
doAction.php
- <?php
- print_r($_POST);