时间()是否与时区设置无关?

时间:2012-12-04 18:49:02

标签: php time timezone

我知道时区可以通过以下方法更改(也许更多):

  1. 在每个php文件中设置putenv()时区。
  2. 使用php.ini中的时区设置date.timezone
  3. 使用根.htaccess文件中的时区设置php_value date.timezone
  4. 我的问题是,设置时区只会影响date()功能,还是会影响time()功能?

    我阅读了文档,但我仍然有点困惑......我认为答案是前者,但我需要确定,所以如果有人能证实这一点会很棒

    谢谢!

4 个答案:

答案 0 :(得分:3)

time()不受时区的影响。函数如date,将生成的日期转换为时区而不影响时间戳。

http://codepad.viper-7.com/8O7iAS

答案 1 :(得分:2)

尝试以下示例:

date_default_timezone_set("Europe/Paris");
echo gmdate("H:i:s");
echo "<br/>";
echo date("H:i:s");
echo "<br/>";
echo time();

echo "<br/>";
echo "<br/>";

date_default_timezone_set("Asia/Chungking");
echo gmdate("H:i:s");
echo "<br/>";
echo date("H:i:s");
echo "<br/>";
echo time();

echo "<br/>";
echo "<br/>";

显示:

18:52:38
19:52:38
1354647158

18:52:38
02:52:38
1354647159

答案 2 :(得分:2)

  

返回自Unix Epoch(1970年1月1日00:00:00 GMT)以来的秒数测量的当前时间。

由于这是一个绝对的时间点,从那时起经过的秒数(除了相对论目的)是明确的。无论时区设置如何,您都将获得相同的值。

答案 3 :(得分:1)

php time()使用GMT计算时间,因此它与您设置的时区无关