time()返回自
以来测量的当前时间(以秒数为单位)Unix Epoch (January 1 1970 00:00:00 GMT).
我的问题是:
- 与服务器时间有关吗?位于英国的服务器的
time();
输出是否与位于美国的服务器不同?或者unix时间是按GMT计算的? - 我正在计算本地时间,并且有 GMT 偏移量。我是否必须添加与 unix 时间的 GMT 偏移量才能找出当前本地时间。
最佳答案
Unix 纪元是一个固定的时间点,而不是本地时间,因此无论您身在何处,自该纪元以来的秒数都是相同的。服务器时间仅在服务器时钟错误时影响:)
如果您用来显示日期的函数能够识别时区并正确配置,则您不必关心 GMT 偏移量:
<?php $now = time(); date_default_timezone_set('Europe/Madrid'); echo date('Y-m-d H:i:s O e', $now) . PHP_EOL; date_default_timezone_set('America/Hermosillo'); echo date('Y-m-d H:i:s O e', $now) . PHP_EOL;
...打印:
2011-08-09 13:33:58 +0200 Europe/Madrid 2011-08-09 04:33:58 -0700 America/Hermosillo
关于php - time() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6995281/