gpt4 book ai didi

java - Jackson JSON - 反序列化时从日历对象中剥离时区

转载 作者:行者123 更新时间:2023-12-01 10:37:05 27 4
gpt4 key购买 nike

我有 jackson 反序列化器将 json 字符串中的日期转换为日历对象。我在请求中传递“2015-10-22”,在将其转换为日历对象后,它会转换为“2015-10-22-04:00”。有没有办法禁止发送时区?在使用 XMLGregorianCalendar 的场景中,我使用“date.setTimezone(DatatypeConstants.FIELD_UNDEFINED)”来抑制时区。

private static SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

@Override
public Calendar deserialize(JsonParser jsonparser, DeserializationContext arg1) throws IOException, JsonProcessingException {
// TODO Auto-generated method stub
String dateString = jsonparser.getText();
try {

Calendar calendar = Calendar.getInstance();
calendar.setTime(formatter.parse(dateString));
return calendar;
} catch (ParseException e) {
throw new RuntimeException(e);
}
}

最佳答案

没有发送时区,所以问题“有没有办法禁止发送时区?”毫无意义。

Calendar.getInstance() 方法分配默认时区,请参阅 javadoc:

Gets a calendar using the default time zone and locale. The Calendar returned is based on the current time in the default time zone with the default locale.

然后,您可以将“当前时间”替换为对 setTime() 的调用,但时区和区域设置保持不变。

Calendar 对象始终具有时区和区域设置。

关于java - Jackson JSON - 反序列化时从日历对象中剥离时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34623076/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com