分享

PHP时间戳详解

 gearss 2016-05-28
  1. <?php  
  2. //设置时区  
  3. date_default_timezone_set('PRC');  /* 其中PRC为“中华人民共和国“  */  
  4. //获取当前时间  
  5. echo date("Y年m月d日 , H点i分s秒 ")."<br/>";  
  6. //获取当前时间戳  
  7. echo time()."<br>";  
  8. //将任一时间戳转换为时间  
  9. echo date('Y-m-d H:i:s',"1435799540");  
  10. echo "<br>";  
  11. //将某一时间转换为时间戳  
  12. echo strtotime('2010-03-24 08:15:42');  
  13. echo "<br>";  
  14. //打印明天此时的时间戳  
  15. echo "明天此时时间戳:".strtotime("+1 day");  
  16. echo "<br>";  
  17. //打印明天此时时间  
  18. echo "明天此时时间:".date('Y-m-d H:i:s',strtotime("+1 day"));  
  19. echo "<br>";  
  20. //打印昨天此时时间  
  21. echo "昨天此时时间:".date('Y-m-d H:i:s',strtotime("-1 day"));  
  22. echo "<br>";  
  23. //打印下星期此时时间  
  24. echo "下星期此时时间:".date('Y-m-d H:i:s',strtotime("+1 week"));  
  25. echo "<br>";  
  26. //打印指定下一个星期几的时间  
  27. echo "下一个星期1时间:".date('Y-m-d H:i:s',strtotime("next monday"));  
  28. echo "<br>";  
  29. //打印指定上一个星期1的时间  
  30. echo "上一个星期1时间:".date('Y-m-d H:i:s',strtotime("last monday"));  
  31. echo "<br>";  
  32. //打印下个月此时时间  
  33. echo "下个月此时时间:".date('Y-m-d H:i:s',strtotime("+1 month"));  
  34. echo "<br>";  
  35. //获取某一时间戳的年  
  36. echo date("y","1435799540");  
  37. echo "<br>";  
  38. //获取当前时间戳的月  
  39. echo date("m",time());  
  40. echo "<br>";  
  41. //获取当前时间戳的日  
  42. echo date("d",time());  
  43. echo "<br>";  
  44.   
  45.   
  46. /* 
  47. mktime()函数定义和用法: 
  48. mktime() 函数返回一个日期的 Unix 时间戳。 
  49. 参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。 
  50. 参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。 
  51. 语法 
  52. mktime(hour,minute,second,month,day,year,is_dst) 
  53. 参数  描述 
  54. hour    可选。规定小时。 
  55. minute  可选。规定分钟。 
  56. second  可选。规定秒。 
  57. month   可选。规定用数字表示的月。 
  58. day           可选。规定天。 
  59. year    可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。 
  60. is_dst  可选。如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。 
  61.                                 自 5.1.0 起,is_dst 参数被废弃。因此应该使用新的时区处理特性。  
  62. */  
  63.   
  64.   
  65. echo mktime(9, 0, 0, date("m",time()), date("d",time()) ,date("y",time()));   
  66. echo "<br>";  
  67. echo strtotime('2015-07-02 09:00:00');  
  68. echo "<br/>";  
  69. /*  
  70. 利用时间戳对时间进行限制: 
  71. 需求: 
  72. 当达到某一条件时,让服务器发短信给用户,数量为多条。 
  73. 基本思路:linux 定时扫描,若有满足条件的用户,则发送短信。 
  74. 但为了防止打扰到用户,要求只能在白天8:00-20:00发送短信,怎么样获得到每天的这段时间区间? 
  75. 如下代码: */  
  76. $y=date("Y",time());  
  77. $m=date("m",time());  
  78. $d=date("d",time());  
  79. $start_time = mktime(8, 0, 0, $m, $d ,$y);  
  80. $end_time = mktime(20, 0, 0, $m, $d ,$y);  
  81. $time = time();  
  82. if($time >= $start_time && $time <= $end_time){  
  83.     // do something....  
  84.     echo "发短信!";  
  85. }else{  
  86.     echo "时间不对!";  
  87. }  
  88. echo "<br/>";  
  89. //打印今天零点的时间戳  
  90. echo strtotime("today")."<br/>";  
  91. echo strtotime('2015-07-02 00:00:00');  
  92.   
  93.   
  94. ?>  


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多