背景
- 前面有講過存日期時間可以用 datetime、timestamp 類型:https://www.cnblogs.com/poloyy/p/15546735.html
- 格式是: YYYY-MM-DD hh:mm:ss
- 但假設我不想存具體的日期時間,想存一個 unix 時間戳呢?
啥是 unix 時間戳
- 可以去這個網站看看就知道了,http://tool.chinaz.com/Tools/unixtime.aspx
- 自 1970 年 1 月 1 日協調世界時 (UTC) 成立以來經過的秒數
- 其實就是常見的 10 位秒級時間戳(1636727443)和 13 位毫秒級時間戳(1636727443123)
靈魂拷問
- 有很多接口響應可能會返回這樣一個時間戳,讓前端自己去轉換
- 那對於在 Mysql 中,如何存儲這樣的時間戳呢?
如何存儲 10 位秒級時間戳
- 直接用 int 類型存
- 使用普通的 int 類型來存儲 Unix 時間是最簡單的方法
- 使用 int,可以確定存儲的數字可以快速可靠地插入表中
如何存儲 13 位毫秒級時間戳
不可以使用 int 類型存,需要用 varchar 或者 bigint
為什么不能用 int 存
- 因為 13 位時間戳超出了 int 的存儲范圍
- 這就要聊一聊 Mysql 支持的整數類型的存儲字節數和范圍了
https://www.cnblogs.com/poloyy/p/15546827.html