2011-08-25 58 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時間戳。如果它取決於時區,程序員將會變得瘋狂。

相關問題