mysql 数据库存日期一般用什么类型?
我之前用的 date ,但是在做日期减法,或者前端传来的范围时间查找,总是要去转换成时间戳,然后再转换成 date 类型,然后才能查询,所以我在想能不能直接存 int 类型的时间戳会比较好。
我都存时间戳
date ,更直观一点
时间范围查询直接给 mysql 传字符串也可以查
我一般都是用 bigint, 存时间戳, 好处是可以随便比较和计算时间, 不好的地方就是直接看表不知道时间,需要手动计算
这个再增加一列就很好了
时间戳用 int 还是 timestamp
计算时间可以用 date_add
时间戳和 date 都存就完美解决
永远只存 bigint
#6 bigint
unsigned int
虽然可以 但是感觉有点冗余, 真的要看的话,手动复制找个工具转一下,或者查询的的时候用 sql 函数转一下
时区真的很麻烦, 数据库有时区,程序有时区,系统还有时区。如果不存时间戳,改个时区牵扯的问题太多了。
考虑时区就是用 timestamp ,或者 int 、bigint 。
如果要考虑时区,大于 1970 ,同时要考虑超过 2038 的时间,但小于 2106 ,可以考虑无符号的 int 、如果要超过 2106 年,就要考虑 bigint 了。
1970 以前的时间,也得考虑 date 、datetime 了(不考虑时区的)
使用 datetime ,存储逻辑还是 timestamp->int, 可以 SQL 里面写 date 字符串直接比较
没有跨时区业务就 datetime,有就时间戳
datetime
有没有什么软件可以自动转一下?反正都是函数计算,如果有软件支持自动转化,那就美了。
TIMESTAMP 就行, 反正互联网项目也活不到 2038 年
datetime 和 timestamp 直接比较会有什么问题吗?为什么要转时间戳再比较
数据库:datetime
Java 代码:LocalDateTime ( Java8 新日期类)
有时区也没事,注解或者 config 可以自己转,spring boot 项目
int64 时间戳唯一选择,不要给自己找麻烦
写 php 我喜欢 int 存, 写 go 我喜欢 datetime 3 位精度带毫秒
datetime 类型,保存 UTC 时区的时间
datetime
家宽没有固定 ip ,考虑弄个云服务器做中转,国外的( v 包括 hk )一是担心速度和被墙阻断,二是在公司环境用担心被监测到引起不必要的麻烦。 所以想问问国内可用区的服务器如…
背景 在一个不小的大厂里面拧螺丝,发现很多部门都在重复造轮子。没有引入好用的开源组件,自己造的轮子也没有复用,公司内部相同的轮子都有好几种。编译体系简陋,加个文件也要改编译脚本…
网上最近一直在说前端已死。导致,我本来想继续学的念头产生迷茫了。其次,学历本来就是 21 年大专嵌入式的。然后今年黑马又整了个嵌入的培训班。导致我现在有点犹豫了。我现在是走前端…