0
來自URL的日期和時間格式應爲YYYY-MM-DD-HH-II-SS。我想檢查它的正確性,並將其插入到mysql時間戳格式的列中的數據庫中。從url檢查日期時間
1)與$timestamp = $this->input->get('time_from')
我從url收到它。
2)在插入數據庫之前,我嘗試打印它。
if (! empty($timestamp)) {
$timestamp = date_create_from_format('Y-m-d-H-i-s', $timestamp);
if (! $timestamp)
echo date_format($timestamp, 'Y-m-d H:i:s');
}
3)我得到那年可能在1970年之前,例如1950-01-01-10-32-01是正確的通過這種檢查。但是在mysql列中插入這樣的日期是不可能的。 4)我得到2012-02-31-10-00-00在2012-03-02 10:00:00自動轉換。
問題是:如何避免這些令人困惑的自動轉換?提供這種檢查的最佳方法是什麼?
我不需要1970年之前的日期。我繼續使用TIMESTAMP。 checkdate函數也不會給出檢查是否滿足mysql時間戳要求的可能性。 – Anton 2013-04-10 19:39:30
如果你看看我給你鏈接到的MySQL文檔,你可以看到Timestamp類型允許的日期範圍,並檢查這些日期範圍。你可以使用日軍看看日期是否有效 - 如果不是,它將會像你在#4中描述的那樣「變形」。 – 2013-04-11 03:51:37