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
分类:
测试必知必会系列 - Mysql
标签:
Mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2020-11-13 Docker 实战(3)- 搭建 Gitlab 容器并上传本地项目代码
2020-11-13 Docker - 解决 gitlab 容器上的项目进行 clone 时,IP 地址显示一串数字而不是正常 IP 地址的问题
2020-11-13 Docker - 解决同步容器与主机时间报错:Error response from daemon: Error processing tar file(exit status 1): invalid symlink "/usr/share/zoneinfo/UTC" -> "../usr/share/zoneinfo/Asia/Shanghai"
2020-11-13 Docker - 解决容器内获取的时间和主机的时间不一样的问题