【TDengine 使用环境】
开发环境
【TDengine 版本】
3.4.1
【操作系统以及版本】
taos服务器使用ubuntu 开发使用win10 + idea
【部署方式】非容器部署
【集群节点数】
【集群副本数】
【描述业务影响】
springboot2
maven里增加了依赖
com.taosdata.jdbc
taos-jdbcdriver
3.8.3
在service里面用System.out.println(TimeZone.getDefault().getDisplayName());输出是格林威治时间
注释掉上述依赖 输出就是中国标准时间
连接器用的
jdbc:TAOS-WS://host:6041/database?timezone=Asia/Shanghai
【问题复现路径/shan】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】
【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)
可以尝试做以下的修改看是否有效:
在Spring Boot主类的 main 方法中,必须在 SpringApplication.run() 之前,使用静态代码块或直接调用 TimeZone.setDefault()。
java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import java.util.TimeZone;
@SpringBootApplication
public class YourApplication {
public static void main(String[] args) {
// 关键:在Spring容器启动前,强制设置JVM默认时区
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
SpringApplication.run(YourApplication.class, args);
}
}
原理:
驱动修改时区的行为,发生在它所依赖的类被加载时。通过在 run 方法调用前执行 setDefault,可以确保应用和所有后续组件都以你指定的时区运行。