2012-12-28 198 views
1

我有一個問題,在PHP中將字符串日期時間轉換爲時間戳。使用PHP轉換字符串日期時間到時間戳

$time = strtotime('2012-12-28 01:02:43'); 

echo $time; //it returns 1356627763 

當我將該整數值轉換回日期時間它是不正確的(28/12/2012 00:02:43)。基本上,它已經晚了1個小時。

my_format_datetime(strtotime('2012-12-28 01:02:43')); 

下面是我的my_format_datetime功能:

> function my_format_datetime($unix) 
>   { 
>    if ($unix == '' || !is_numeric($unix)) 
>    { 
>      $unix = strtotime($unix); 
>    } 
>    else 
>    { 
>     $timezone = 3600*(DEFAULT_GMT + date("0")); 
>     $unix = gmdate("d/m/Y H:i:s", $unix + $timezone); 
>    } 
>    
>    return $unix; 
>   } 

但是當我轉換使用time()函數它是正確的。

請幫幫我。非常感謝。

+3

'DEFAULT_GMT'的值是什麼 –

+0

'$ timezone = 3600 *(DEFAULT_GMT + date(「0」));'我的猜測是這個問題。 – Supericy

+0

試試這個: http://stackoverflow.com/questions/7950854/convert-datetime-to-timestamp-php – Gutenberg

回答

1

設置當地時區。 您可以通過使用date_default_timezone_set() .http做在PHP腳本://php.net/manual/en/function.date-default-timezone-set.php

,或者您可以通過更改做它在php.ini配置默認爲UTC的date.timezone值。

+0

感謝您的答覆。我在本地和全球時間之間誤認了時區。 – nvtthang