我需要能夠將字符串(請參見下面的示例)轉換爲可添加到MySQL的格式。我可以將其添加爲var車,但我需要能夠根據這些日期範圍運行查詢。將字符串轉換爲MySQL日期
例如'02 May 2013 12:08 AM GMT'
任何建議達到此目的的最佳方法?
編輯 目前嘗試以下操作:
$date = date_create_from_format('d M Y H:i A e', '02 May 2013 12:08 AM GMT');
echo $date;
,但得到的服務器錯誤,當我試圖呼應的日期。
我也試過以下,打破了日期和時區分開,儘量單獨對付它:
$myvalue = '02 May 2013 12:08 AM GMT';
$arr = explode(' ',trim($myvalue));
$timezone = new DateTimeZone($arr[5]);
$arr[count($arr)-1]='';
$time=implode(' ',$arr);
$date = date_create_from_format('d M Y h:i A', $time, $timezone);
echo $date;
但同樣我得到了服務器錯誤。
編輯 我剛剛意識到,因爲它不會出現與此功能可用格式的代碼的第二塊可能是想錯了,由於GMT。
編輯 經過進一步調查,我認爲存儲數據的最佳方式是讓存儲爲DATETIMEin
MySQL的使用相同的時區(GMT)所有日期和與它一起存儲實際的時區,他們是和使用在需要時運行查詢的時區。
$myvalue = '02 May 2013 12:08 AM GMT';
$arr = explode(' ',trim($myvalue));
$timezone = new DateTimeZone($arr[5]);
$arr[count($arr)-1]='';
$time=implode(' ',$arr);
$timestamp = strtotime($time);
$date = date("Y-m-d H:i:s", $timestamp);
echo $date;
對於除時區以外的所有內容:http://stackoverflow.com/questions/10539154/insert-into-db-datetime-string對於時區:https://dev.mysql.com/doc/refman/5.5/ en/date-and-time-functions.html#function_convert-tz所以你必須先按時區分割字符串,而不是先分區。或者,如果時區永遠不變,您可以忽略它。 – Patashu 2013-05-05 00:54:06
右側沒有任何鏈接有幫助嗎? – 2013-05-05 00:54:16
你會得到哪些錯誤? '服務器錯誤'不能幫助任何人。確切的錯誤消息更有用。 – Arjan 2013-05-05 10:44:16