我收到一個字符串,如Wed Sep 28 2016 01:00:00 GMT + 0500(PKT)我需要將其轉換爲2016-09-28 01:00: 00 我已經試過這PHP - 將字符串轉換爲日期
$startTime = strtotime($updatedData['start']);
echo $time = date("Y-m-d H:i:s",$startTime);
但它返回我2016年9月27日20:00:00
我收到一個字符串,如Wed Sep 28 2016 01:00:00 GMT + 0500(PKT)我需要將其轉換爲2016-09-28 01:00: 00 我已經試過這PHP - 將字符串轉換爲日期
$startTime = strtotime($updatedData['start']);
echo $time = date("Y-m-d H:i:s",$startTime);
但它返回我2016年9月27日20:00:00
你可以改變它使用DateTime
:
$startTime = new DateTime('Wed Sep 28 2016 01:00:00 GMT+0500 (PKT)');
echo $startTime->format('Y-m-d H:i:s');
日期時間讓你給他的時區。
活生生的例子:https://3v4l.org/UTltO
正是我需要 – baig772
試試這個:
$startTime = strtotime($updatedData['start']);
$time = date("Y-m-d H:i:s",$startTime);
echo date("Y-M-d H:i:s", strtotime($time) + 5 * 3600);
它返回UTC時間,你確實需要增加5個小時。也是一個快速的建議。您可以使用Carbon來處理日期時間。
您可以在轉換之前設置所需的時區。請參閱下面的代碼作爲參考。
date_default_timezone_set("Asia/Bangkok");
$str = 'Wed Sep 28 2016 01:00:00 GMT+0500 (PKT)';
$startTime = strtotime($str);
echo $time = date("Y-m-d H:i:s",$startTime);
@copynpaste的解決方案是好的,直線前進,但我仍然會用炭分享我的解決方案。
碳是與laravel一起包含的庫,這裏是 documentation。
$carbon = new Carbon('Wed Sep 28 2016 01:00:00 GMT+0500 (PKT)');
$carbon->format('Y-m-d H:i:s');
echo $carbon;
就會出來的結果一樣的DateTime
2016-09-28 01:00:00
是這麼好,什麼樣的碳,你可以再補充一天,分,秒等的只是一個很小的代碼,這裏有一個例子:
$carbon->addDays(1);
echo $carbon;
//result
2016-09-29 01:00:00
這是因爲時區,時間是+5,但結果是+0。 – danopz
檢查您的時區 – follio
您的出門日期是格林尼治標準時間。所以請設置time_zone並運行腳本 –