2017-09-21 81 views
0

我在AWS EBS和我的本地Apache上有相同的項目。我在我的用戶模型像這樣定義的$日期格式,流明時間戳追蹤數據和數據丟失錯誤

protected $dateFormat = 'Y-m-d H:i:s'; 

本地服務器運行良好,但AWS說,

Trailing data 
at Carbon::createFromFormat('Y-m-d H:i:s', '2017-09-14 04:34:08.000') in Model.php line 2991 

因此,我改變$ DATEFORMAT此,

protected $dateFormat = 'Y-m-d H:i:s.u'; 

然後本地服務器將顯示,

Data missing 
at Carbon::createFromFormat('Y-m-d H:i:s.u', '2017-09-14 04:34:08') in Model.php line 2991 

我認爲這是數據庫格式與模型中定義的格式之間的不匹配,但有了這些不同的行爲,我真的很困惑。

回答

1

貌似這種情況下是太多數據

如果你的日期字符串就像是在這種情況下比格式字符串「長」:

Carbon::createFromFormat('Y-m-d H:i:s', '2017-09-14 04:34:08.000'); 

碳會拋出:

Carbon.php中的InvalidArgumentException行425:尾隨數據

因爲在這裏你所指定的日期時間格式秒,但在你的字符串要傳遞的毫秒數過08.000這就是爲什麼碳被投擲的Trailing data

這個錯誤,如果你不需要millsecond然後只需使用該

Carbon::createFromFormat('Y-m-d H:i:s', '2017-09-14 04:34:08'); 
+0

感謝您的回覆。它有兩種不同的環境,AWS和我的本地服務器。如果我使用默認設置,則行爲會有所不同。這就是爲什麼我很困惑,除了日期格式以外的其他所有內容都是相同的。 – yifei3212

+0

確定如果您使用默認設置發生了什麼? –

+0

如果使用默認設置,我的本地計算機將會正常工作,但AWS會提醒由毫秒引起的尾隨數據錯誤。我不知道它是否與系統時間格式有關... – yifei3212