我正在从日期选择器发送日期,这将是正确的日期,但是当我在控制器中签入日期时,它是在春季启动后端中获取昨天的日期,而在前端中则是Angualr js
我尝试在应用程序属性中设置时区 就像:
spring.jackson.time-zone = IST
spring.jackson.locale = in_IN
但是没用
日期是== dao:Tue Oct 01 2019 00:00:00 GMT+0530
(印度标准时间)和
进入控制者的日期== dao=2019-09-30T18:30:00.000Z
答案 0 :(得分:0)
JVM将默认时区作为服务器的时区。例如,如果服务器在IST上运行,则JVM将IST时间作为默认时间。 您可以使用此代码并在应用程序启动时在服务器端初始化时区。
@SpringBootApplication
public class Application {
@PostConstruct
public void init(){
// Setting Spring Boot SetTimeZone
TimeZone.setDefault(TimeZone.getTimeZone("IST"));
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
答案 1 :(得分:0)
与Jackson构造的与TimeZone(java.util.Calendar等)相关联的所有时间对象都使用标准时区(GMT),而不是本地时区(无论如何)。那就是:杰克逊默认使用GMT进行所有处理,除非另有特别说明。 在与来自JSON的数据对象绑定的JSON POJO类数据成员中使用此行。
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="dd/MM/yyyy", timezone="IST")