PHP日期和时间函数的使用示例详解

这篇文章主要介绍了PHP日期和时间函数的使用示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

(1)查看日期函数拓展

phpinfo()

  1. <?php
  2. phpinfo();

打开上述页面之后,可以看到以下,证明已经安装日期拓展

PHP日期和时间函数的使用示例详解

浏览器输入php.net访问php的文档

(2)设置时区

方式一:修改配置文件php.ini

D:\ITSoft\wamp64\bin\php\php7.0.10\php.ini

  1. [Date]
  2. ; Defines the default timezone used by the date functions
  3. ; http://php.net/date.timezone
  4. date.timezone = PRC
  5. ; http://php.net/date.default-latitude
  6. ;date.default_latitude = 31.7667
  7. ; http://php.net/date.default-longitude
  8. ;date.default_longitude = 35.2333
  9. ; http://php.net/date.sunrise-zenith
  10. ;date.sunrise_zenith = 90.583333
  11. ; http://php.net/date.sunset-zenith
  12. ;date.sunset_zenith = 90.583333

方式二:date_default_timezone_set

  1. <?php
  2. echo '当前时区'.date_default_timezone_get(); //UTC
  3. var_dump(date_default_timezone_set('Asia/Shanghai'));//true
  4. echo '当前时区'.date_default_timezone_get(); //Asia/Shanghai

方式三:init_set

设置指定配置选项的值,这个选项会在脚本运行时保持新的值,并在脚本结束时恢复

  1. <?php
  2. echo ini_get('date.timezone'); //UTC
  3. ini_set('date.timezone','Asia/Shanghai');
  4. echo ini_get('date.timezone'); //Asia/Shanghai

(3)常用时间函数

常用参数

PHP日期和时间函数的使用示例详解

date使用

  1. <?php
  2. ini_set('date.timezone','Asia/Shanghai');
  3. echo date('Y年m月d日 H:i:s');//分隔符随意
  4. echo date('H:i:s a');//am pm
  5. echo date('w');//星期
  6. //判断是否闰年
  7. $runNian = date('L');
  8. if($runNian){
  9. echo '是闰年';
  10. }else{
  11. echo '不是闰年';
  12. }

time mktime的使用

  1. <?php
  2. //获取当前时间戳
  3. echo time();//1513757887
  4. //时间戳转换成date
  5. echo date('Y-m-d H:i:s',time());
  6. //一天后的时间
  7. echo date('Y-m-d H:i:s',time()+24*60*60);
  8. //获取指定日期的时间戳
  9. echo mktime(0,0,0,2,1,2016);//(H i s n j Y) 2016-2-1 0:0:0的时间戳 可以依次省略

strtotime使用

  1. <?php
  2. echo date('Y-m-d H:i:s',time());//2017-12-20 08:30:58
  3. echo date('Y-m-d H:i:s',strtotime('+1 day'));//2017-12-21 08:30:58
  4. echo date('Y-m-d H:i:s',strtotime('-5 days'));//2017-12-15 08:30:58
  5. echo date('Y-m-d H:i:s',strtotime('+1 month'));//2017-01-20 08:30:58
  6. echo date('Y-m-d H:i:s',strtotime('+5 months'));//2017-05-20 08:30:58
  7. echo date('Y-m-d H:i:s',strtotime("last Monday"));//2017-12-18 08:30:58
  8. echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
  9. microtime()
  10. <?php
  11. echo microtime(); //0.85666200 1513758991 两部分微妙值 时间戳
  12. echo microtime(true);// 1513759077.8005

其他函数

  1. <?php
  2. //获取当前日期
  3. print_r(getdate());
  4. // 输出如下
  5. //Array (
  6. // [seconds] => 53
  7. // [minutes] => 40
  8. // [hours] => 8
  9. // [mday] => 20
  10. // [wday] => 3
  11. // [mon] => 12
  12. // [year] => 2017
  13. // [yday] => 353
  14. // [weekday] => Wednesday
  15. // [month] =>
  16. // December [0] => 1513759253
  17. //)
  18. <?php
  19. //验证日期的合法性
  20. var_dump(checkdate(1,32,2014));//false

(4)时间控件的使用test.php

PHP日期和时间函数的使用示例详解

  1. <!DOCTYPE html>
  2. <html >
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>H5新增表单控件</title>
  6. </head>
  7. <body>
  8. <h1>H5新增表单日期时间控件</h1>
  9. <form action='doAction.php' method='post'>
  10. <input type="date" name="datetime1" /><br>
  11. <input type="submit" value="提交"/>
  12. </form>
  13. </body>
  14. </html>

doAction.php

  1. <?php
  2. print_r($_POST);