2017-07-16 53 views
1

我有這個UTC日期2017-07-16 12:00:07.8 UTC(即調用$dateconvert),我想將其轉換爲秒。 我試圖使用strtotime(),但它在UTC時間內返回秒數,再移除兩個小時,我不明白爲什麼。PHP:將UTC日期轉換爲秒 - 不適用於strtotime()

我在意大利,在這裏日期爲UTC + 2,也許strtotime()意大利時區讀$dateconvert當它轉化爲秒,除去2個小時? 這可能嗎?

$anno_emsc= 2017; 
$mese_emsc= 7; 
$giorno_emsc= 16; 
$ora_emsc= 12; 
$minuto_emsc= 0; 
$secondo_emsc= 7; 


$dataconvert= strtotime($anno_emsc.'-'.$mese_emsc.'-'.$giorno_emsc.' '.$ora_emsc.':'.$minuto_emsc.':'.$secondo_emsc)+0; 

輸出

1500199207 // strtotime removed 2 hours 
+1

如果你把所有的部分放在單獨的變量中,爲什麼不使用['gmmktime()'](http://php.net/manual/en/function.gmmktime.php)將它們轉換成時間戳? – rickdenhaan

+0

@ rickdenhaan與gmmktime()的作品!如果你寫一個答案,我會接受它;) – Borja

回答

1

既然您已經知道所有的部分,您可以使用gmmktime()將其轉換爲時間戳。 mktime()的「gm」版本知道它正在接收GMT/UTC日期,並會相應地處理它。

0

嘗試和設置您的date_default_timezone_set()您正確的時區,並看看是否能解決您的問題。有時候你的php實例會默認錯誤的時區。