MySQL中Date,DateTime,TimeStamp和Time 的 相关含义、使用方式 及 之间的区别

学习目标:

MySQL中Date,DateTime,TimeStamp和Time的解释和区别:

  • MySQL中Date,DateTime,TimeStamp和Time的解释和区别

知识小结:

小结:

  • 1、Date
    显示格式 YYYY-MM-DD
    显示范围 1901-01-01 到 9999-01-01
    应用场景 当业务需求中只需要精确到天时,可以用这个时间格式
    后台取值 @JSONField(format=“yyyy-MM-dd”)

  • 2、DateTime
    显示格式 YYYY-MM-DD HH:mm:ss
    显示范围 1601-01-01 00:00:00 到 9999-12-31 23:59:59
    应用场景 当业务需求中需要精确到秒时,可以用这个时间格式
    后台取值 @JSONField(format=“yyyy-MM-dd HH:mm:ss”)

  • 3、TimeStamp
    显示格式 YYYY-MM-DD HH:mm:ss
    显示范围 1601-01-01 00:00:00 到 9999-12-31 23:59:59
    应用场景 当业务需求中需要精确到秒或者毫秒时,或者该系统用于不同时区,可以用这个时间格式
    后台取值 @JSONField(format=“yyyy-MM-dd HH:mm:ss:SSS”)(这里只会精确到秒)

  • 4、Time
    显示格式 HH:mm:ss
    显示范围 00:00:00 到 23:59:59
    应用场景 当业务需求中只需要每天的时间,可以用这个时间格式
    后台取值 @JSONField(format=“HH:mm”)(这里是只精确到分,数据库存的也就是只精确到分,比如 09:36:00,如果需要精确到秒。需要使用@JSONField(format=“HH:mm:ss”))

  • 5、DateTime 和 TimeStamp 都是年月日时分秒,为什么还有这两个类型呢?
    (1)、精度:DateTime 和 TimeStamp 都可以精确到毫秒(我目前使用的5.5的mysql,所以只能精确到秒,据说高版本的可以用TIMESTAMP(3)与 DATETIME(3)精确到毫秒。),但是用的很少,一般精确到毫秒都是用Timestamp。

    (2)、DateTime 和 TimeStamp 最大的区别只是用的场景不同,如果你的应用是用于不同时区(就是国内和国外同时使用),这时候如果用 dateTime 就会出现各种各样的问题,但是如果使用 TimeStamp 就不会出现这种时差的问题。

  • 6、容易混淆的点:
    误区:
    之前我也为 datetime 和 TimeStamp 是一样的,因为他们在数据库存的时间都是 YYYY-MM-DD HH:mm:ss 格式的,但是TimeStamp 类型存的是 10位 或者 13位 的时间戳。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值