繁体   English   中英

objectmapper.readvalue自动更改时区

[英]objectmapper.readvalue automatically change the timezone

我从前端发送日期,如下格式的字符串。

[{“ StartDate”:“ 2018-03-09”}]

在春季,我正在使用ObjectMapper在POJO中获得此功能。 使用ObjectMapper.readValue时将转换为以下日期。

星期五2018年3月9日05:30:00

我已经尝试过下面的代码。

ObjectMapper objectMapper = new ObjectMapper().setTimeZone(TimeZone.getTimeZone("UTC"));

但是它对我不起作用。 仍将IST 2018年5月9日星期五05:30:00作为输出。

如何使代码独立于时区。

您正在将字符串日期映射到Date对象。 没有时区的日期对象是不可能的。 映射器正确地应用了UTC时区,并且日期存储为2018-03-09 00:00:00 UTC 2018-03-09 05:30:00 IST 2018-03-09 00:00:00 UTC并且IST成为2018-03-09 05:30:00 IST 如果您想要2018-03-09 00:00:00 IST时间2018-03-09 00:00:00 IST而不是UTC ,请传递IST

如果您希望发送不带时区的日期,则可以使用如下所示的注释进行操作(要求json-jackson版本> = 2.0)

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone="Asia/Kolkata")
private Date date;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM