Mysql - 如何存儲 10位、13位的 unix 時間戳?

背景

  • 前面有講過存日期時間可以用  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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章