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

本文介绍了PHP中时间戳的概念及其与格林威治时间的关系,解释了如何通过date函数获取时区偏移,并提供了设置脚本时区的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时间戳

        首先来说说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 – 新加坡 

 

转载于:https://www.cnblogs.com/wwjchina/p/9674502.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值