已解决:前端页面和数据库时间不一致

本文讲述了前后端开发中由于默认使用UTC时区导致的时间差问题,介绍了如何通过配置Spring的Jackson时区设置为用户所在的时区(如GMT+8),以确保时间展示的一致性,提升用户体验。
摘要由CSDN通过智能技术生成
 *   ┏┓   ┏┓+ +
 *  ┏┛┻━━━┛┻┓ + +
 *  ┃       ┃
 *  ┃   ━   ┃ ++ + + +
 *  ████━████ ┃+
 *  ┃       ┃ +
 *  ┃   ┻   ┃
 *  ┃       ┃ + +
 *  ┗━┓   ┏━┛
 *    ┃   ┃
 *    ┃   ┃ + + + +
 *    ┃   ┃
 *    ┃   ┃ +  神兽保佑
 *    ┃   ┃    代码无bug
 *    ┃   ┃  +
 *    ┃    ┗━━━┓ + +
 *    ┃        ┣┓
 *    ┃        ┏┛
 *    ┗┓┓┏━┳┓┏┛ + + + +
 *     ┃┫┫ ┃┫┫
 *     ┗┻┛ ┗┻┛+ + + +

原因:由于前后端时区设置不一致导致的。具体来说,后端返回的时间数据和数据库中的时间数据相差8个小时是因为:

1.默认使用 UTC 时区:

   1.Java 中的日期和时间默认使用 UTC(协调世界时)进行存储和处理。


  2.前端展示的时间与实际时间不同步:

      1.如果你在没有指定时区的情况下在前端显示这些时间,它们可能会与用户所在时区的实际时           间相差8小时。


  3.Spring Jackson 序列化和反序列化时区问题:

      1.Spring 在将日期和时间转换为 JSON 或从 JSON 转换回来时,默认使用的时区可能与你期              望的时不匹配。

 

  •  4.方案:配置 Spring 使用正确的时区
    • 1.添加 spring.jackson.time-zone=GMT+8 配置,告诉 Spring 在序列化或反序列化日期和时间时始终使用 GMT+8 时区

        yml配置

spring:
  jackson:
    time-zone: GMT+8

properties配置

spring.jackson.time-zone=GMT+8

 通过这个配置,你可以确保前后端之间的时间一致,并且能够正确地显示给用户。这有助于提高应用程序的用户体验,并避免因时间差异而引发的问题。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值