欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > Spring Boot 项目里设置默认国区时区,Jave中Date时区配置

Spring Boot 项目里设置默认国区时区,Jave中Date时区配置

2025/4/16 20:24:52 来源:https://blog.csdn.net/weixin_42759398/article/details/147232182  浏览:    关键词:Spring Boot 项目里设置默认国区时区,Jave中Date时区配置

在 Spring Boot 项目里设置国区时区(也就是中国标准时间,即 Asia/Shanghai),可通过以下几种方式实现:

方式一:在application.propertiesapplication.yml里设置

application.properties

properties

spring.jackson.time-zone=Asia/Shanghai
application.yml

yaml

spring:jackson:time-zone: Asia/Shanghai

这里,借助 Spring Jackson 的配置来设定时区,此配置会影响 JSON 序列化和反序列化时的时间处理。

方式二:在 Java 代码里设置默认时区

在 Spring Boot 应用的启动类或者配置类里添加如下代码:

java

import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.util.TimeZone;@SpringBootApplication
public class YourApplication implements CommandLineRunner {public static void main(String[] args) {SpringApplication.run(YourApplication.class, args);}@Overridepublic void run(String... args) throws Exception {TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));}
}

上述代码把 Java 虚拟机的默认时区设置成了Asia/Shanghai,这样整个应用里涉及时间的操作都会采用这个时区。

方式三:在数据库连接配置里设置时区

若你使用的是数据库,在数据库连接的 URL 里设置时区。以 MySQL 为例:

properties

spring.datasource.url=jdbc:mysql://localhost:3306/your_database?serverTimezone=Asia/Shanghai

这样做能保证数据库与应用程序使用相同的时区,防止出现时间不一致的问题。

你可以依据项目的具体需求,选择合适的方式来设置国区时区。

注意 一定不要在注解上配置

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
)
private Date updateTime;  这种情况会导致 多个微服务转换下 时间会算错 多加八小时

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词