PHP时间相关常用函数用法示例

这篇文章主要介绍了PHP时间相关常用函数用法,结合实例形式详细分析了PHP日期时间函数常见操作方法与使用注意事项,需要的朋友可以参考下。

本文实例讲述了PHP时间相关常用函数用法,分享给大家供大家参考,具体如下:

  1. <?php
  2. /**
  3. * 设置时区
  4. */
  5. date_default_timezone_set("Asia/Shanghai");
  6. /**
  7. * 获取时区
  8. */
  9. echo date_default_timezone_get();
  10. //结果 UTC
  11. echo "<br/>";
  12. /**
  13. * 添加时间
  14. */
  15. $date=date_create("2013-03-15"); //创建一个DateTime 对象
  16. date_add($date,date_interval_create_from_date_string("40 month"));//years days
  17. //date_interval_create_from_date_string 从字符串的相关部分建立一个DateInterval。
  18. echo date_format($date,"Y-m-d");
  19. //结果2016-07-15
  20. echo "<br/>";
  21. /**
  22. * 减去时间
  23. */
  24. $date=date_create("2013-03-15");
  25. date_sub($date,date_interval_create_from_date_string("40 days"));
  26. echo date_format($date,"Y-m-d");
  27. //2013-02-03
  28. echo "<br/>";
  29. /**
  30. * 获取两个时区的差值
  31. */
  32. $date1=date_create("2013-03-15");
  33. $date2=date_create("2013-12-12");
  34. $diff=date_diff($date1,$date2);//返回的是一个DateInterval对象
  35. echo "<pre>";
  36. var_dump($diff);
  37. // object(DateInterval)#4 (15) {
  38. // ["y"]=>
  39. // int(0)
  40. // ["m"]=>
  41. // int(8)
  42. // ["d"]=>
  43. // int(27)
  44. // ["h"]=>
  45. // int(0)
  46. // ["i"]=>
  47. // int(0)
  48. // ["s"]=>
  49. // int(0)
  50. // ["weekday"]=>
  51. // int(0)
  52. // ["weekday_behavior"]=>
  53. // int(0)
  54. // ["first_last_day_of"]=>
  55. // int(0)
  56. // ["invert"]=>
  57. // int(0)
  58. // ["days"]=>
  59. // int(272)
  60. // ["special_type"]=>
  61. // int(0)
  62. // ["special_amount"]=>
  63. // int(0)
  64. // ["have_weekday_relative"]=>
  65. // int(0)
  66. // ["have_special_relative"]=>
  67. // int(0)
  68. // }
  69. echo "<br/>";
  70. /**
  71. * 获取当前时间戳
  72. */
  73. $date=date_create();
  74. echo date_timestamp_get($date) .'<br/>';
  75. $time = time();
  76. echo $time .'<br>';
  77. echo strtotime("now") .'<br/>';
  78. /*
  79. *获取今天0点时间戳
  80. */
  81. echo strtotime("today").'<br>';
  82. /**
  83. * 获取带微秒的时间
  84. */
  85. echo microtime(true);
  86. /*
  87. *获取指定时间戳
  88. * mktime(hour,minute,second,month,day,year);
  89. */
  90. echo "<br/>";
  91. echo mktime(18,30,15,3,15,2019);
  92. /*
  93. *获取前一天0点时间戳
  94. */
  95. echo "<br/>";
  96. echo strtotime('yesterday');
  97. /*
  98. *获取昨天此时的时间戳
  99. */
  100. echo "<br/>";
  101. echo strtotime('-1 days');
  102. ?>

运行结果:

  1. Asia/Shanghai
  2. 2016-07-15
  3. 2013-02-03
  4. object(DateInterval)#4 (15) {
  5. ["y"]=>
  6. int(0)
  7. ["m"]=>
  8. int(8)
  9. ["d"]=>
  10. int(27)
  11. ["h"]=>
  12. int(0)
  13. ["i"]=>
  14. int(0)
  15. ["s"]=>
  16. int(0)
  17. ["weekday"]=>
  18. int(0)
  19. ["weekday_behavior"]=>
  20. int(0)
  21. ["first_last_day_of"]=>
  22. int(0)
  23. ["invert"]=>
  24. int(0)
  25. ["days"]=>
  26. int(272)
  27. ["special_type"]=>
  28. int(0)
  29. ["special_amount"]=>
  30. int(0)
  31. ["have_weekday_relative"]=>
  32. int(0)
  33. ["have_special_relative"]=>
  34. int(0)
  35. }
  36. 1591150859
  37. 1591150859
  38. 1591150859
  39. 1591113600
  40. 1591150859.0074
  41. 1552645815
  42. 1591027200
  43. 1591064459