2015-05-29 132 views
1

當我嘗試從谷歌日曆api格式2015-05-29T19:30:00+08:00;谷歌日曆API時間

return \Carbon\Carbon::createFromTimeStamp(
     strtotime('2015-05-29T19:30:00+08:00') 
     ); 

我得到的結果2015-05-29 11:30:00 但在我的谷歌日曆事件的開始日期正好是07:30PM 的一件事是,如果我嘗試添加->diffForHumans();我得到的結果是:

16 minutes ago(注:我運行代碼的時間是7:46 PM)

你能幫我理解這裏發生了什麼嗎?

+1

看起來完全正確的,讀出的位更多關於時區(顯然你在+8小時的時區,並且該函數返回UTC) – Bokw

+0

是的,謝謝。我已經添加了' - > timezone('Timezone/Sample')',我已經得到了正確的結果。再次感謝你@Bokw – solomonculaste

回答

0

取而代之的日期時間轉換爲UNIX時間戳,嘗試直接創建使用原來的日期格式是ISO8601一個DateTime實例,這應該會自動考慮到時區

return Carbon::createFromFormat(Carbon::ISO8601, '2015-05-29T19:30:00+08:00');