我是相當新的PHP所以請原諒我,如果這是設置PHP日期時間似乎並不被觀察時區
我在遇到一個問題,我還沒有發現一個愚蠢的錯誤我們目前我們使用的系統是strtotime
,它比我們的實際設置時間提前一小時返回了我們的日期。例如,下午1:15時,我將時區設置爲歐洲時區,而不是格林威治時間。
我讀過strotime有這個問題,但是如果我嘗試設置它,我不能得到它來觀察不同的時區。
因此我嘗試使用PHP DateTime
代替。
用戶輸入時間,他們將它選爲1:15 PM,但我們希望將其存儲爲13:15。所以我這樣做:
$t = DateTime::createFromFormat('h:i A', $venue['startTime']);
$t_24 = $t->format('H:i:s');
然後我嘗試創建我的Date對象
$d = DateTime::createFromFormat('d-m-Y H:i:s', $venue['startDay'] . ' ' . $t_24);
$d->setTimezone(new DateTimeZone('America/New_York'));
echo ' ' . $d->getTimestamp();
試圖對象設置後設置時區,因爲很明顯,如果你添加的時區,因爲它不工作第三個參數createFromFormat
我的電腦目前正在觀測目前GMT + 1的歐洲時間,因爲我們在英國觀察夏令時,我選擇了通過我們的系統設置的時間爲1:15 pm,因爲我我設定了我期待的時間郵票輸出相當於早上7點15分,因爲它比歐洲時間晚六個小時,但是當我將時間戳1500639300
轉換成時,它仍然等於2:15 PM。可能做了一些愚蠢的事情,但無法弄清楚什麼?任何幫助將不勝感激:)