MySQL支持多種時間格式,我們可以在創建表時設置列類型為datetime、date、time、timestamp等,以及使用類似UNIX時間戳的整數存儲時間。
datetime
datetime類型存儲日期和時間。它使用'YYYY-MM-DD HH:MM:SS'格式來表示,其中'YYYY'代表年份、'MM'代表月份(01~12)、'DD'代表日期(01~31)、'HH'代表小時(00~23)、'MM'代表分鐘(00~59)、'SS'代表秒數(00~59)。datetime支持的年份范圍是1000年至9999年。
date
date類型只存儲日期部分。它使用'YYYY-MM-DD'格式來表示,其中'YYYY'代表年份、'MM'代表月份(01~12)、'DD'代表日期(01~31)。date支持的年份范圍是1000年至9999年。
time
time類型只存儲時間部分。它使用'HH:MM:SS'格式來表示,其中'HH'代表小時(00~23)、'MM'代表分鐘(00~59)、'SS'代表秒數(00~59)。
timestamp
timestamp類型與datetime類型相似,但是它以UNIX時間戳存儲時間,即從1970年1月1日00:00:00開始經過的秒數。因此,它可以表示的時間范圍為1970年1月1日00:00:00至2038年1月19日03:14:07。
整數存儲時間
我們可以使用INT或BIGINT類型來存儲類似UNIX時間戳的整數。例如,將當前時間轉換為整數可以使用UNIX_TIMESTAMP()函數,然后將結果存儲到INT或BIGINT類型的列中。這種方式比使用datetime或timestamp更加節省存儲空間。