2011-06-22 73 views
2

我正在使用getdate函數,我打算用它來將時間間隔(以秒爲單位)解析爲幾天,幾分鐘,幾小時等等。但是,我很驚訝getdate(0)['hours']爲1.發生了什麼事這裏?爲什麼getdate(0)返回1作爲小時?

FWIW,完整的輸出我得到的是:

Array 
(
    [seconds] => 0 
    [minutes] => 0 
    [hours] => 1 
    [mday] => 1 
    [wday] => 4 
    [mon] => 1 
    [year] => 1970 
    [yday] => 0 
    [weekday] => Thursday 
    [month] => January 
    [0] => 0 
) 
+6

您的時區,我猜。 – lzm

+0

UK = GMT +1 ---- –

+0

我剛剛在命令行得到了'0'... – cwallenpoole

回答

0

我的猜測是你住在英國。

PHP被配置爲使用您所在國家的本地時區。這導致時間爲1:00:GMT + 1小時爲夏令時。

有2個可能的解決方案:

  • 一個。減去您所用
  • 配置腳本,以使用GMT時間戳小時。使用提到的函數@pekka來做到這一點。

我建議第一個解決方案;您的腳本可能需要相當多的打印時間,以及您想要轉換爲當地時區的時間間隔。