Mysql - 如何儲存 10位、13位的 unix 時間戳?
阿新 • • 發佈:2021-11-13
背景
- 前面有講過存日期時間可以用 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
- 其實就是常見的 10 位秒級時間戳(1636727443)和 13 位毫秒級時間戳(1636727443123)
靈魂拷問
- 有很多介面響應可能會返回這樣一個時間戳,讓前端自己去轉換
- 那對於 Mysql 中,如何儲存這樣的時間戳呢?
如何儲存 10 位秒級時間戳
直接用 int 型別存
如何儲存 13 位毫秒級時間戳
不可以使用 int 型別存,需要用 varchar 或者 bigint
為什麼不能用 int 存
- 因為 13 位時間戳超出了 int 的儲存範圍
- 這就要聊一聊 Mysql 支援的整數型別的儲存位元組數和範圍了