2014-04-04 41 views
1

我現在的日期格式2013年1月1日.... DD/MM/YYYY如何轉換日期在MySQL中正確的格式

我怎樣才能將它們轉換成所有MYSQL日期?我在他們的印象格式是YYYY-MM-DD

我不知道從哪裏開始。

我的問題是,日期被下令美國的方式,而他們在英國的格式:(

+0

有一個mysql手冊應該可以幫助解決這些問題:[12.7日期和時間函數:STR_TO_DATE(str,format)](http://dev.mysql.com/doc/refman/5.6/en/date- and-time-functions.html#function_str-date-date) –

+0

我的問題是,日期是以美國的方式排列,而他們是英國格式:( – Jake

+0

在一個評論中,你寫'[...]我只是導入的數據來自CSV並且它的命令錯誤'''''''''''''''''''''應該改變你的問題,你想轉換的日期在哪裏,它們是否已經在數據庫中?或者你想在導入時轉換日期?如何導入CSV? –

回答

0

可以用PHP和CONCAT的DD,MM,YYYY提取每個部分,並將其保存到數據庫

+0

$ var = '01/01/2013'; $ date = str_replace('/',' - ',$ var); $ date = date('Ym-d',strtotime ($ date)); – user3470953

+0

當建議使用php你d首先找出OP是否使用php與mysql進行通信。 –

+0

我的問題是,日期是以美國的方式,而他們是在英國的格式:( – Jake

0

爲什麼不DATE_FORMAT

DATE_FORMAT(date,'%Y-%m-%d') 
+0

不DATE_FORMAT'預計'日期'是在MySQL格式? –

+0

我的問題是日期正在訂購在美國的方式,雖然他們是在英國的格式:( – Jake

0

如何轉換日期在MySQL中正確的格式:

SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename 

or 

SELECT t.id, DATEDIFF(STR_TO_DATE(t.carddate, '%m/%d/%Y'), CURDATE) 
FROM TABLE t 

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_get-format

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

+0

我的問題是,日期正在命令美國的方式,雖然他們是在英國的格式:( – Jake

+0

你想轉換'時區' – jmail

+0

我不這麼認爲,我只是從一個CSV導入數據,並命令錯誤,所以我得到1月1日,1月1日,而不是1月1日,2月2日! – Jake

0

使用下面的查詢。

update tbl_name set your_field_name= str_to_date(your_field_name, '%d/%m/%Y'); 

它將更新日期從DD/MM/YYYY以YYYY/MM/DD的價值。

然後您可以更改您的字段類型到日期。