2011-08-25 57 views
0

为什么当我使用date_default_timezone_set()时,它对time()没有任何影响吗?PHP date_default_timezone_set不改变时间() - 为什么?

当然,我期望下面的$server_time$local_time的值是不同的?

$server_time = time(); 
date_default_timezone_set('Pacific/Guam'); 
$local_time = time(); 
print_r(get_defined_vars()); 

------- 
/* echoed output */ 
Array 
(
    [server_time] => 1314261374 
    [local_time] => 1314261374 
) 

回答

2

时间戳总是没有任何时区信息。如果您使用的日期,你看到的区别:

$server_time=date(DATE_W3C); 
date_default_timezone_set('Pacific/Guam'); 
$local_time=date(DATE_W3C); 
print_r(get_defined_vars()); 

---- 
/* echoed output */ 
Array 
(
    [server_time] => 2011-08-25T10:49:26+02:00 
    [local_time] => 2011-08-25T18:49:26+10:00 
) 
2

time()是时区独立的。

1

time()返回当前Unix时间戳。如果它取决于时区,程序员将会变得疯狂。

相关问题