mysql日期格式有5種,分別為: 1、“YYYY-MM-DD HH:MM:SS”格式;2、“YYYYMMDDHHMMSS”格式;3、 “YYYY-MM-DD”格式;4、“HH:MM:SS”格式;5、“YYYY”格式。
mysql(5.5)所支持的日期時(shí)間類型有:DATETIME、 TIMESTAMP、DATE、TIME、YEAR。
幾種類型比較如下:
日期時(shí)間類型 | 占用空間 | 日期格式 | 最小值 | 最大值 | 零值表示 |
DATETIME | 8 bytes | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 | 9999-12-31 23:59:59 | 0000-00-00 00:00:00 |
TIMESTAMP | 4 bytes | YYYYMMDDHHMMSS | 19700101080001 | 2038 年的某個(gè)時(shí)刻 | 00000000000000 |
DATE | 4 bytes | YYYY-MM-DD | 1000-01-01 | 9999-12-31 | 0000-00-00 |
TIME | 3 bytes | HH:MM:SS | -838:59:59 | 838:59:59 | 00:00:00 |
YEAR | 1 bytes | YYYY | 1901 | 2155 | 0000 |
DATETIME
DATETIME 用于表示 年月日 時(shí)分秒,是 DATE 和 TIME 的組合,并且記錄的年份(見上表)比較長久。如果實(shí)際應(yīng)用中有這樣的需求,就可以使用 DATETIME 類型。
TIMESTAMP
- TIMESTAMP 用于表示 年月日 時(shí)分秒,但是記錄的年份(見上表)比較短暫。
- TIMESTAMP 和時(shí)區(qū)相關(guān),更能反映當(dāng)前時(shí)間。當(dāng)插入日期時(shí),會(huì)先轉(zhuǎn)換為本地時(shí)區(qū)后再存放;當(dāng)查詢?nèi)掌跁r(shí),會(huì)將日期轉(zhuǎn)換為本地時(shí)區(qū)后再顯示。所以不同時(shí)區(qū)的人看到的同一時(shí)間是 不一樣的。
- 表中的第一個(gè) TIMESTAMP 列自動(dòng)設(shè)置為系統(tǒng)時(shí)間(CURRENT_TIMESTAMP)。當(dāng)插入或更新一行,但沒有明確給 TIMESTAMP 列賦值,也會(huì)自動(dòng)設(shè)置為當(dāng)前系統(tǒng)時(shí)間。如果表中有第二個(gè) TIMESTAMP 列,則默認(rèn)值設(shè)置為0000-00-00 00:00:00。
- TIMESTAMP 的屬性受 Mysql 版本和服務(wù)器 SQLMode 的影響較大。
如果記錄的日期需要讓不同時(shí)區(qū)的人使用,最好使用 TIMESTAMP。
DATE
DATE 用于表示 年月日,如果實(shí)際應(yīng)用值需要保存 年月日 就可以使用 DATE。
TIME
TIME 用于表示 時(shí)分秒,如果實(shí)際應(yīng)用值需要保存 時(shí)分秒 就可以使用 TIME。
YEAR
YEAR 用于表示 年份,YEAR 有 2 位(最好使用4位)和 4 位格式的年。 默認(rèn)是4位。如果實(shí)際應(yīng)用只保存年份,那么用 1 bytes 保存 YEAR 類型完全可以。不但能夠節(jié)約存儲(chǔ)空間,還能提高表的操作效率。
—————————————————————————————————————————————————————
每種日期時(shí)間類型都有一個(gè)有效值范圍,如果超出這個(gè)范圍,在默認(rèn)的SQLMode下會(huì)報(bào)錯(cuò),并以零值(見上表)存儲(chǔ)。
插入或更新時(shí),日期時(shí)間類型允許“不嚴(yán)格”語法,以DATETIME為例(其他日期時(shí)間類型雷同):
- YYYY-MM-DD HH:MM:SS 或 YY-MM-DD HH:MM:SS 格式的字符串。任何符號(hào)都可以用作日期部分或時(shí)間部分的間隔符。例如:“14-06-18 14:54:10”、“14*06*18 14.54.10”、“14+06+18 14=54=10”是等價(jià)的。對(duì)于包含日期時(shí)間的字符串值,如果月、日、時(shí)、分、秒的值小于10,不需要指定兩位數(shù)。例如:“2014-2-3 2:3:6”、“2014-02-03 02:03:06”是等價(jià)的。
- YYYYMMDDHHMMSS 或 YYMMDDHHMMSS 格式的字符串。如果字符串對(duì)于日期時(shí)間類型是合法的就可以解釋為日期時(shí)間類型。例如:“20140618145410” 和 “140618145410”將被解釋為 “2014-06-18 14:54:10” ,但是 “20140618145480” 是不合法的(秒數(shù)不合法),將被解釋為 “0000-00-00 00:00:00”。
- YYYYMMDDHHMMSS 或 YYMMDDHHMMSS 格式的數(shù)字。如果該數(shù)字對(duì)日期時(shí)間類型是合法的就可以解釋為日期時(shí)間類型。例如:“20140618145410” 和 “140618145410” 將被解釋為 “2014-06-18 14:54:10” 。數(shù)值的長度應(yīng)為6、8、12、14。如果數(shù)值長度是 8 或 14 位長,則假定為 YYYYMMDD 或 YYYYMMDDHHMMSS 格式。如果數(shù)值為 6 或 12 位長,則假定為 YYMMDD 或 YYMMDDHHMMSS 格式。
推薦教程:mysql視頻教程