2017-08-03 106 views
0

我,當我試圖插入值2016-03-27T03此錯誤:在我Yii1應用51.213與數據類型「時間戳」列:15MySQL的無效日期時間格式

exception 'CDbException' with message 'CDbCommand failed to execute the SQL statement: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2016-03-27T03:15:51.213' for column 'created' at row 1. 

最奇怪的是,當我嘗試插入一個2016-03-27T13:15:51.213的值 - 每一個都沒問題。怎麼了?

我在我的Windows機器上用PHP 5.6和MySql 5.7使用OpenServer

+0

你試過了嗎2016-03-27T3:15:51.213? (3號之前沒有0) – RealCheeseLord

+0

*'2016-03-27 03:15:51' *試試這個 –

+0

您的格式正常:2016-03-27T03:15:51.213 您可以在此嘗試:https: //yuilibrary.com/yui/docs/datatype/datatype-dateparse.html 如果在那裏出現錯誤,並且2016-03-27T13:15:51.213工作 ,則它正在從其他地方來。你可以給我們表格和你試過的查詢嗎? – Latsuj

回答

-1

做這樣的事情。首先創建一個從字符串日期時間

$datetime = date("Y-m-d h:i:s", strtotime("2016-03-27T13:15:51.213"));// Output = 2016.03.27 01:15:51 

日期時間對象,然後在SQL查詢中使用$日期時間。

+0

我的問題是2016-03-27T03:15:51.213,而不是2016-03-27T13 :15:51.213 –

+0

無論日期是什麼解決方案都可以工作。爲什麼要投票?你能告訴我嗎? – Manzurul

0

最後我找到了解決方案。問題的原因是在我的Windows機器上。我有一個積極的選擇「自動過渡到冬季和夏季時間」。

所以,因爲這個選項我的電腦不知道凌晨3點和凌晨4點時,時區的變化,因爲當選項打開時,在給定的時間物理上不存在))之間的時間),就這麼簡單)

當我在PC上關閉此選項並重新啓動時,消息從日誌中消失。

順便說一句:這個問題不會出現在Linux和UTC設置的電腦上,而不會自動轉換到冬季和夏季。

希望我的回答對別人有幫助。

相關問題