我从前端发送日期,格式如下。
[{"起始日期":" 2018年3月9日"}]
在春天,我使用ObjectMapper在POJO中获取它。 使用ObjectMapper.readValue时会转换为低于日期。
Fri Mar 09 05:30:00 IST 2018
我已经尝试了以下代码。
ObjectMapper objectMapper = new ObjectMapper().setTimeZone(TimeZone.getTimeZone("UTC"));
但它不适合我。 仍然得到Fri Mar 09 05:30:00 IST 2018作为输出。
如何使代码独立于时区。
答案 0 :(得分:0)
您正在将字符串日期映射到Date对象。没有时区,您无法拥有日期对象。映射器正确应用UTC
时区,日期存储为2018-03-09 00:00:00 UTC
,IST存储为2018-03-09 05:30: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;