在我的UI中,日期顯示如下 - dd.mm.YYYY hh:ii:ss
。用戶可以編輯/添加新日期,並且很可能他們會嘗試使用不能用於SQL查詢的相同格式(24.06.2012 15:35:00)。這裏是我做了什麼至今:PHP/MySQL - 以正確的格式準備插入日期時間SQL列的字符串
$dt = (date_parse_from_format("d.m.Y H:i:s", $data['event_time']));
$newdate = sprintf("%02d-%02d-%04d %02d:%02d:%02d" , $dt['day'], $dt['month'], $dt['year'], $dt['hour'], $dt['minute'], $dt['second']);
$test = date("Y-m-d H:i:s", strtotime($newdate));
if ($test == "1970-01-01 01:00:00")
{
throw new Exception('Invalid date');
}
會發生什麼事是 - 如果我離開檢查if ($test == "1970-01-01 01:00:00")
我得到一個異常,但如果我評論了$test = date("Y-m-d H:i:s", strtotime($newdate));
線和檢查日期僅插入零。 $newdate
是SQL - YYYY-mm-dd H:i:s
正確的格式,但obv。我想念這裏的東西。如何將此字符串作爲有效的SQL日期時間插入?
感謝
Leron
對不起,「yyyy-MM-dd HH:mm:ss」用於.Net。對於PHP,「Y-m-d H:i:s」是正確的。嘗試打印strtotime(#newdate)並查看值。 –
你在哪裏插入日期?嘗試在每一步打印日期以確保您的觀察結果。 – manurajhada