2012-12-27 168 views
2

我想將數據轉換上,我的格式轉換日期數據爲MySQL的日期格式

$dateToday = date("d-m-Y"); 

所以$ dateToday的值是27-12-2012

然後我想使用mysql數據類型日期將其保存到數據庫。如何保留27-12-2012的值可以存儲在mysql數據庫中,格式爲2012-12-27? 請幫助我。謝謝

+0

爲什麼你需要存儲的日期在格式?你總是可以適當日期格式,當你需要它 – m4t1t0

+0

它可以使用PHP函數的strtotime輕鬆完成,檢查我的回答如下, –

+0

@ user1878292 - 請查看我的回答 –

回答

3

是的,我們也可以將與strtotime();

$dateToday = date("d-m-Y"); 
$newDate = date("Y-m-d", strtotime($dateToday)); 

OUTPUT日期:2012-12 -27

然後您可以將數據存儲到您的數據庫。

當你有恢復的日期,你可以扭轉這種操作是這樣的:

$dateFromDatabase = "2012-12-27"; 
$reverseDate = date("d-m-Y", strtotime($dateFromDatabase)); 

OUTPUT:27-12-2012

(修正 「年月日」 在第二屆 「DMY」日期電話)

+0

是的,這是工作。非常感謝你的朋友。這是非常幫助我:) – ramadani

+0

我很高興聽到這個消息:) – fntlnz

+0

它不會工作,如果我輸入2015年4月3日在美國格式 – Samiul

0

如果要以這種格式將數據存儲在MYSQL表中,則需要將該列聲明爲varchar

因爲datetime存儲日期像'yyyy-mm-dd hh:mm:ss'

-1

不同的格式試試這個

$dateToday = date("d-m-Y"); 
$dateForMysql = date('Y-m-d', $dateToday)); 
0

這是它如何工作的:

你必須以正確的mysql格式存儲數據。它將允許您進行任何排序,彙總,過濾和計算日期。

但是,當你需要顯示你的數據,你可以將它轉換成你想要的任何格式,用mysql DATE_FORMAT()功能:

SELECT DATE_FORMAT(dt,'%d-%m-%Y') as dtf FROM TABLE 

會給你dtf字段自定義格式進行格式化

0

我會告訴你如何做到這一點。 要解釋,我創建一個表中調用testtable1它僅包含一個類型爲DATE 創建表的查詢 col1一個欄下方

CREATE TABLE `testtable1` (
    `col1` DATE NULL DEFAULT NULL 
) 

下面的查詢給出你需要將工作。 我在第一行聲明瞭一個字符串變量。在第二行中,我將該字符串轉換爲您所需的日期格式並插入到表格中。

set @var1='27-12-2012'; 
insert into testtable1 values(STR_TO_DATE(@var1, '%d-%m-%Y')) 
0

您也可以嘗試使用MySQL的函數從字符串轉換爲日期,即 STR_TO_TIME 。 SQL查詢可能是

INSERT INTO foo_table (foo_date) 
VALUES (STR_TO_DATE('27-12-2012','%d,%m,%Y')) 
0

輸出是錯的這不能從數據庫中。這顯示日期顯示1970/01/01 ..... $日期=日期($一年。「/」 。$ month。「/」。$ day); $日期=日期( 「Y-M-d」,的strtotime($日期)); echo $ date; enter code here