2011-12-01 58 views

回答

40

「MySQL以'YYYY-MM-DD HH:MM:SS'格式檢索並顯示DATETIME值。」 這是來自mysql網站。您只能存儲此類型,但在需要顯示時,可以使用多種時間格式函數之一進行更改。

Mysql Time and Date functions

例如,這些功能中的一個是DATE_FORMAT,它可用於像這樣:

SELECT DATE_FORMAT(column_name, '%m/%d/%Y %H:%i') FROM tablename 
+0

非常感謝 –

+1

爲了使用PHP的'date()'函數獲得當前的日期時間,使用'date(「Y-m-d H:i:s」)''。 – Carcigenicate

16

使用DATE_F ORMAT功能來改變格式。

SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y') 

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

參考DOC更多細節

4

我敢肯定,你不能在mysql中更改日期時間格式。 phpmyadmin設置可能會在讀取日期時間時使用自定義格式(使用DATE_FORMAT或PHP中的某些內容)。數據庫使用什麼格式並不重要,應用程序中的格式可以隨意顯示。

日期格式化是一項相當普遍的任務。我通常喜歡把它抽象成國際化代碼,或者如果你不需要處理國際化的話,可以將它提取到一個通用日期實用程序庫中。它有助於保持事情的一致性,並使以後更容易更改(或添加國際化支持)。

+0

謝謝你的回答,我看了一下DATE_FORMAT功能的方式來獲得我想要的格式,我不認爲。 –

2

不,你不能; datetime將僅在創建表格時以默認格式存儲,然後您可以更改顯示格式select查詢您想要的方式使用Mysql Date Time Functions

2

這不能爲表格完成;此外,你甚至不能改變這個默認值。

答案是服務器變量datetime_format,它是未使用的。

2
Dim x as date 

x = dr("appdate") 
appdate = x.tostring("dd/MM/yyyy") 

博士是DataReader的可變

0

試試這個:

DATE NOT NULL FORMAT 'YYYY-MM-DD' 
5

正如其他人解釋說,這是不可能的,但這裏的替代解決方案,它需要一點點調整,但它像日期時間欄一樣工作。

我開始思考,我怎樣才能使格式化成爲可能。我有一個想法。如何爲它啓動觸發器?我的意思是,添加類型爲char的列,然後使用MySQL觸發器更新該列。這工作!我做了相關的觸發一些研究,最後拿出這些查詢:

CREATE TRIGGER timestampper BEFORE INSERT ON table 
FOR EACH 
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s'); 
CREATE TRIGGER timestampper BEFORE UPDATE ON table 
FOR EACH 
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s'); 

不能使用TIMESTAMPDATETIME作爲列類型,因爲這些都有自己的格式,和他們自動更新。

因此,這裏是您的替代時間戳或日期時間替代!希望這會有所幫助,至少我很高興我能做到這一點。

5

我已經使用以下的代碼&線能正常工作由於.... @Mithun Sasidharan **

SELECT DATE_FORMAT(列名, '%d /%米/%Y')FROM表名

**

相關問題