编程中关于对时区的理解(语言PHP)

时间戳

        首先来说说time()返回的时间戳,时间戳则是自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。

格林威治

  由于地球圆的,因此每个时区的时间都有差异,而格林威治时间和北京相差8小时,则应当加8小时(PHP时区中没有北京时区,一般使用上海时区)。

   

 

    我们可以使用date('Z')函数查看当前系统默认时区与格林威治时间的时差。

 var_dump(date('Z')); //打印输出:string '28800' (length=5)

    28800即60*60*8,也就是8小时。

    比如当前北京时间的时间戳是time()=1300999605

    那么格林威治的时间戳就是:

         1300999605-28800=1300970805

 

设置脚本时区

1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.timezone = “Asia/Shanghai”;即可。 

2、在程序PHP 5以上版本的程序代码中使用函数ini_set('date.timezone','Asia/Shanghai');或者date_default_timezone_set(‘Asia/Shanghai'); 

一些常用的时区标识符说明: 

Asia/Shanghai – 上海 
Asia/Chongqing – 重庆 
Asia/Urumqi – 乌鲁木齐 
Asia/Hong_Kong – 香港 
Asia/Macao – 澳门 
Asia/Taipei – 台北 
Asia/Singapore – 新加坡 

 

posted @ 2018-09-19 14:43  苦逼成长印记  阅读(598)  评论(0编辑  收藏  举报