现在的位置: 首页学习笔记>正文
PHP调整时间和时间页面实例.
发表于6年前 学习笔记 评论数 2

继续昨天的进度,

昨天学习了时间戳和初调正时区.

昨天我们学习的时间戳是time()

 

  1. <?php   
  2.   
  3.   
  4. //今天我将学习将日期转换成时间戳   
  5. //mktime()函数可以生成给定日期时间的时间戳   
  6. //时分秒 日月年   
  7.   
  8. echo mktime(12,12,12,12,12,12,2012);   
  9. echo '<br />';   
  10.   
  11. //这个一般不常用, 了解下就可以了.   
  12.   
  13.   
  14.   
  15.   
  16.  //一般都用这个 strtotime()将人可读的日期转换为 时间戳    
  17.  echo strtotime('2012-12-12 12:12:12');   
  18.  //返回的时间戳是1355314332   
  19.  //我再结合昨天学习的知识.打印出这个时间戳看看是否正确   
  20.     
  21.  echo '<br />';   
  22.  echo date('Y-m-d H:i:s',1355314332);   
  23.  //返回的值是2012-12-12 12:12:12  OK. 没问题.   
  24.     
  25. //计算时间差   
  26.  echo '<br />';   
  27. echo (strtotime('2012-12-12 12:12:12' ) - strtotime('2012-12-12 12:11:12'))/ 60;   
  28.   
  29. //返回的是秒的时间 加个/60就变成小时了.   
  30.   
  31.   
  32. //这个举例比如我们逛论坛的时候回帖间隔的时间60秒   
  33.  echo '<br />';   
  34. $a=(strtotime('2012-12-12 12:12:12' ) - strtotime('2012-12-12 12:11:12'));   
  35.   
  36. //我们给他一个变量.   
  37.   
  38. if($a<=60)   
  39. {   
  40.     echo '对不起,你的间隔时间小于60秒,请稍候再回复';   
  41. }else    
  42. {   
  43.     echo '回复成功';   
  44. }   
  45.   
  46. //这个就能更清楚理解这个函数了.   
  47.   
  48.   
  49.  echo '<br />';   
  50. //getlastmod();   
  51. echo getlastmod();   
  52. //getlastmod();这个是文件最后修改的时间戳.   
  53.   
  54. echo '<br />';   
  55. echo date('Y-m-d H:i:s' ,getlastmod());   
  56. //这个是返回文件最后修改时间的时间

设置时区和 GMT/UTC:

修改 php.ini 文件中的设置,找到[date]下的;date.timezone = 选项将该项修改为

date.timezone=Asia/Shanghai,然后重新启动 apache 服务器。

 

这是个矫正时区的一个方法,但是这个不怎么灵活.

独家记忆

  1. echo '<br />';   
  2. echo date('Y-m-d H:i:s' );   
  3. echo '<br />';   
  4.   
  5. //putenv()函数可以设置当前的默认时区。   
  6. //putenv('TZ=Asia/Shanghai');   
  7.   
  8. //echo date('Y-m-d H:i:s' );   
  9. //这样我们久违的CHINA时间就出来了.   
  10.   
  11.   
  12. //date_default_timezone_set()可以设置当前的默认时区。   
  13. //date_default_timezone_get()可以获取当前的默认时区。   
  14.   
  15. echo '<br />';   
  16. echo date_default_timezone_get();   
  17.   
  18. //一般是UTC的时区 我们应该是+8区   
  19. //这个方法其实在前面学过.   
  20. echo '<br />';   
  21. date_default_timezone_set('Asia/Shanghai');   
  22. //我们设置为我们的东八区, 这里chongqing HONG_gong 时间都可以的.   
  23. echo date('Y-m-d H:i:s' );   
  24. //这样我们时间就对了.   
  25.   
  26. //localtime -- 取得本地时间   
  27. //说明   
  28. //array localtime ( [int timestamp [, bool is_associative]] )   
  29.   
  30.   
  31. //localtime() 函数返回一个数组,其结构和 C 函数调用返回的完全一样。localtime() 的第一个参数是时间戳,如果没有给出则使用从 time() 返回的当前时间。第二个参数是 is_associative,如果设为 FALSE 或未提供则返回的是普通的数字索引数组。如果该参数设为 TRUE 则 localtime() 函数返回包含有所有从 C 的 localtime 函数调用所返回的不同单元的关联数组。关联数组中不同的键名为:    
  32.   
  33. //   
  34. //"tm_sec" - 秒数    
  35. //   
  36. //"tm_min" - 分钟数    
  37. //   
  38. //"tm_hour" - 小时    
  39. //   
  40. //"tm_mday" - 月份中的第几日    
  41. //   
  42. //"tm_mon" - 年份中的第几个月,从 0 开始表示一月    
  43. //   
  44. //"tm_year" - 年份,从 1900 开始    
  45. //   
  46. //"tm_wday" - 星期中的第几天    
  47. //   
  48. //"tm_yday" - 一年中的第几天    
  49. //   
  50. //"tm_isdst" - 夏令时当前是否生效    
  51. //   
  52. //   
  53. //注意: 月份从 0(一月)到 11(十二月),星期数从 0(星期天)到 6(星期六)。    
  54.   
  55. echo '<br />';   
  56. echo localtime();   
  57. //这是返回的是一个数组.   
  58. echo '<br />';   
  59. print_r(localtime());   
  60.   
  61.   
  62. //对照上面就可以了.   
  63.   
  64. //   
  65. //计算页面脚本运行时间:microtime()函数,该函数返回当前 UNIX 时间戳和微秒数。返   
  66. //回格式为 msec sec 的字符串,其中 sec 是当前的 UNIX 时间戳,msec 为微秒数。   
  67.   
  68.   
  69. echo '<br />';   
  70. echo microtime();   
  71. //返回的是两个数值组合.      
  72. //第二个是当前时间戳 第一个时间就是打开页面的时间.   
  73. echo '<br />';   
  74. echo date('Y-m-d H:i:s',1336465258);   
  75.   
  76.   
  77. echo '<br />';   
  78.   
  79. //  list($F,$G)=explode(' ',microtime());   
  80. //  echo $F;   
  81.   //我们用前面学过的知识把字符串分割.   
  82.      
  83.      
  84. //上面返回时间戳和微秒数   
  85.        
  86. //怎样计算页面运行加载时间   
  87.        
  88. //页面打开的时候获取一个时间   
  89.        
  90. //页面结束的时候获取一个时间   
  91.        
  92. //用结束的时间减去打开的时间,那么就是运行时间   
  93.   
  94. echo '<br />';   
  95.    function js()   
  96.    {   
  97.     list($F,$G)=explode(' ',microtime());   
  98.     return $F+$G;//精确页面所打开的时间.   
  99.    }   
  100.      
  101.    $start_time=js();   
  102.       
  103.    for($i=0;$i<1000000;$i++)   
  104.    {   
  105.     //echo '循环测试';   
  106.    }   
  107.   
  108.    $end_time=js();//结束的时候获取一个时间   
  109.       
  110.       
  111.   // echo $end_time-$start_time;   
  112.    echo round($end_time-$start_time,4);//用前面学的四舍五入,能更清楚了解些.   
  113.   
  114. //OK 这样就算出页面运行加载的时间了.   
  115.   
  116.    //OK 时间戳和日期就到这里了.   
  117.   
  118.   
  119.   
  120.   
  121.     
  122. ?>  
×
腾讯微博