PHP中时间戳和时区

时间:2024-02-17 15:56:22

时间戳

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

 

时区

由于世界各国家与地区经度不同,地方时也有所不同,因此会划分为不同的时区。正式的时区划分,每隔经度15°划分一个时区,共包括24个时区。

我们目前使用的北京时间并不是北京(东经116.4°)的地方时间,而是东经120°(东八区)的地方时间。因为北京处于国际时区划分中的东八区,同格林威治时间(世界时)整整相差8小时(即北京时间=世界时+8小时)。

 

时间戳与时区的关系

二者没有关系,时间戳在哪个时区都是一样的,时间戳不会随着时区的变化而变化。但是我们可以根据时间戳计算不同时区的当前时间。

 

PHP关于时间戳,时间的使用

1、获取时间戳

time();     // 1554533452

 

2、date() ,格式化一个本地时间/日期

使用date()获取的时间和时区有关。

如以下例子中获取的是北京时间:

date(\'Y-m-d H:i:s\', time());     // 2019-04-06 14:43:27

 

3、gmdate(),格式化一个 GMT/UTC 日期/时间

和date()一样的用法,只是返回的时间和时区无关,返回的时间是格林威治标准时(GMT)。

gmdate(\'Y-m-d H:i:s\', time());     // 2019-04-06 06:46:39