一般常见的有使用以下几种数据类型

🕘DATETIME

*日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS
注释:支持的范围是从 ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’

支持的范围长,而且默认值和自动更新可以使用日期函数CURRENT_TIMESTAMP
方便预览,已是格式化好的日期字符串
缺点是仅限于特定时区🌄,不适用于国际化🌍UTC、而且精度只到秒

🕘TIMESTAMP

*时间戳。TIMESTAMP 值使用 Unix 纪元(‘1970-01-01 00:00:00’ UTC) 至今的秒数来存储。格式:YYYY-MM-DD HH:MM:SS
注释:支持的范围是从 ‘1970-01-01 00:00:01’ UTC 到 ‘2038-01-09 03:14:07’ UTC

时间戳是包含时区的,适用于国际化🌍,而且默认值和自动更新可以使用日期函数CURRENT_TIMESTAMP
方便预览,已是格式化好的日期字符串
缺点是范围太短,最大到'2038-01-09 03:14:07' UTC,因为该类型是使用32位整数存储的
32位整数最大值2147483647,用秒级时间戳转为日期刚好就是以上最大日期范围,而且精度只到秒。需考虑其使用风险🚨

🕘BIGINT

-9223372036854775808 到 9223372036854775807 常规。0 到 18446744073709551615 无符号*。在括号中规定最大位数。

长度足够,而且可以用来存更精度的时间戳,也不担心国际化🌍的问题
但默认值和自动更新不支持使用日期函数CURRENT_TIMESTAMP,需要在业务层自行写入👩‍💻
预览的话,直接看👀时间戳肯定不知道是什么日期
可以使用日期函数查询:SELECT FROM_UNIXTIME(timestamp) as 日期 FROM table
用这个数据类型存储日期是不是会更好呢😉