MySQL支持多種時間類型作為列的數據類型。
下面是幾個MySQL存儲時間的類型:
DATE 格式:YYYY-MM-DD,范圍從'1000-01-01'到'9999-12-31' TIME 格式:HH:MM:SS,范圍從'-838:59:59'到'838:59:59',默認精度為0(秒) DATETIME 格式:YYYY-MM-DD HH:MM:SS,范圍從'1000-01-01 00:00:00'到'9999-12-31 23:59:59',默認精度為0(秒) TIMESTAMP 格式:YYYY-MM-DD HH:MM:SS,范圍從'1970-01-01 00:00:01' UTC到'2038-01-19 03:14:07' UTC,自動轉換為當前時區 YEAR 格式:YYYY(4位),范圍從1901到2155
其中,DATETIME和TIMESTAMP的區別在于TIMESTAMP可以自動轉化成當前時區的時間,而DATETIME則不會。
需要注意的是,在MySQL中存儲時間類型的值時,如果不設置默認值,將會默認設置為'0000-00-00'或者'0000-00-00 00:00:00'。此外,時間類型的值可以使用以下函數進行轉換和計算:
NOW() 返回當前時間 CURTIME() 返回當前時間的時間部分 CURDATE() 返回當前日期 DATE() 返回日期部分 TIME() 返回時間部分 YEAR() 返回年份 MONTH() 返回月份 DAY() 返回日期 HOUR() 返回小時 MINUTE() 返回分鐘 SECOND() 返回秒 TIMEDIFF(t1, t2) 返回t1和t2之間的時間差 DATE_ADD(date, INTERVAL value unit) 增加日期 DATE_SUB(date, INTERVAL value unit) 減少日期