2009-09-20 168 views
0

權利。我將數據加載到MySQL數據庫,並使用如下材料來生成時間戳:PHP在日期和時間戳

$stamp = mktime($t[0], $t[1], $t[2], $d[2], $d[1], $d[0]); 

不幸的是,日期和月份是圍繞混合,下面是正確的時間戳。

$stamp = mktime($t[0], $t[1], $t[2], $d[1], $d[2], $d[0]); 

大約有5000條記錄。進行批量更新和更正最簡單的方法是什麼?

非常感謝!

回答

3

數據庫引擎是否允許您插入不可能的日期,或者沒有與日期字段> 12的日期?

在任何情況下,您都可以使用一個更新語句修復它,但語法取決於您使用的數據庫引擎。

對於MySQL可以使用:

UPDATE myTable SET dateColumn = STR_TO_DATE(DATE_FORMAT(dateColumn, '%d-%c-%Y %T'), '%c-%d-%Y %T') 
+0

是的,這是我的方式肯定。 – Christian 2009-09-20 23:04:57

+0

這個工作將在我目前擁有的unix時間戳格式的日期/時間戳上工作嗎? – James 2009-09-20 23:30:40

2

你不能。通過解釋,我舉一個例子:

假設你的意思是:13 日,第2個月,1990年 但這是讀作:2 日,月13日,1990年 由於在幾個月一年只上升到12,這將被視爲: 第2天,1個月,一年1991

但是,假設你的意思是: 1天,第2個月,1991年 這會被解讀爲: 日2,第1年,1991年

因此,如果您看到第2天,第1個月,第1年1991年在數據庫中,它是從哪裏來的?

這就像說,我爲一個整數,結果是36.我開始,-6或6?