UNIX时间戳总是在格林威治标准时间?
我试图运行 php 函数 time()
当我尝试从 time() 函数转换 unix 时间戳时,输出与计算机时间不同。
谢谢你
是的,UNIX时间戳表示从unix时间纪元过去多少秒GMT+0
从技术上讲,没有。
即使纪元时间是经过的秒数,因为真正1/1/70 00:00:00
的“GMT”(UTC)不是。
考虑到地球自转的速度减慢, UTC时间需要更改几次。
正如大家所写,大多数人在 UTC 使用 epoch。
UNIX 时间戳(AKA Unix 的纪元)表示自 1970 年 1 月 1 日 00:00:00 UTC(世界标准时间)以来经过的秒数。所以,如果你需要特定时区的时间,你应该转换它。
尽管在技术上是可行的,但我会推荐其他方法来获取当前时间(或任何其他时间),例如getdate
在返回之前已经考虑本地时区。
检查date_default_timezone_get()的返回值以查看默认时区是什么。该链接还列出了更改值的方法,首选是通过在 php.ini 中设置 date.timezone。