我從貝寶IPNPHP:轉換日期DateTime類
payment_date = 20:12:59 Jan 13, 2009 PST
這個日期我怎麼能在Y-m-d\TH:i:s\Z
轉換?
我曾嘗試與
$date = new DateTime($_POST['payment_date']);
$payment_date = $date->format('Y-m-d\TH:i:s\Z');
但在我的DB我只獲得'0000-00-00 00:00:00'
謝謝
我從貝寶IPNPHP:轉換日期DateTime類
payment_date = 20:12:59 Jan 13, 2009 PST
這個日期我怎麼能在Y-m-d\TH:i:s\Z
轉換?
我曾嘗試與
$date = new DateTime($_POST['payment_date']);
$payment_date = $date->format('Y-m-d\TH:i:s\Z');
但在我的DB我只獲得'0000-00-00 00:00:00'
謝謝
日期時間應該能夠解析這個格式:
$str = '20:12:59 Jan 13, 2009 PST';
$date = new DateTime($str);
$date->setTimezone(new DateTimezone('UTC'));
$payment_date = $date->format('Y-m-d\TH:i:s\Z');
echo $payment_date;
Output :
2009-01-13T20:12:59Z
這應該按預期工作。您的$_POST['payment_date']
變量可能在開頭或結尾處包含一些額外的字符。您可以在$_POST
變量上嘗試trim()
以確保在開始或結束時沒有任何空格。
完美;)現在我只需要從PST轉換到UTC,但沒有問題。非常感謝你 – sineverba
@sineverba:很高興我能幫忙:) –
嘗試['DateTime :: createFromFormat'](http://us.php.net/manual/en/datetime.createfromformat.php)並明確指定您期望的日期格式。 – DCoder
@DoobyInc:OP已經知道如何改變格式,他只是問爲什麼它不工作,什麼時候應該。 –