Java JSON日期分析器,发布为无日

Java JSON日期分析器,发布为无日,java,json,rest,date,jersey,Java,Json,Rest,Date,Jersey,发布java.util.Date字段时,jersey rest服务出现问题 以下是JSON格式的服务请求 { "fromDate":"2012-06-30", "toDate":"2013-07-01" } 当相同的JSON对象映射到java对象时。日期转换为 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <search> <fromDate>2012-06-29T19:00:00-05:

发布java.util.Date字段时,jersey rest服务出现问题

以下是JSON格式的服务请求

{
"fromDate":"2012-06-30",
"toDate":"2013-07-01"
}
当相同的JSON对象映射到java对象时。日期转换为

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<search>
  <fromDate>2012-06-29T19:00:00-05:00</fromDate>
  <toDate>2013-06-30T19:00:00-05:00</toDate>
</search>

2012-06-29T19:00:00-05:00
2013-06-30T19:00:00-05:00

任何关于为什么会发生这种情况的想法或线索。提前谢谢。

时代应该是一个提示。它们相隔5小时,因此这是一个时区调整问题。JSON时间被解释为UTC,然后调整为EDT。

时间应该是一个提示。它们相隔5小时,因此这是一个时区调整问题。JSON时间被解释为UTC,然后调整为EDT。

日期代表同一时刻。第一个是UTC,第二个是UTC减去5小时

2012-06-29T19:00:00-05:00
是6月29日19:00,时区为UTC后5小时

因此,如果以UTC时间表示此日期,则必须添加5小时,这将返回日期

2012-06-30T00:00:00

日期代表同一时刻。第一个是UTC,第二个是UTC减去5小时

2012-06-29T19:00:00-05:00
是6月29日19:00,时区为UTC后5小时

因此,如果以UTC时间表示此日期,则必须添加5小时,这将返回日期

2012-06-30T00:00:00

谢谢你的回答。你能分享一下处理日期的最佳实践吗?@javabie最佳实践是:“全球工作/思考/存储,本地显示”。数据库中的大多数业务逻辑和存储应该是it/GMT。通常,在向用户显示(在应用程序的界面中)时,您只能转换为分区日期时间,否则用户会影响业务逻辑。例如“报告今天的销售数据”,其中“今天”表示用户自己的本地时区。在进行日期-时间工作时,请始终考虑时区,就像在处理文本文件时应始终考虑字符编码一样。谢谢您的回答。你能分享一下处理日期的最佳实践吗?@javabie最佳实践是:“全球工作/思考/存储,本地显示”。数据库中的大多数业务逻辑和存储应该是it/GMT。通常,在向用户显示(在应用程序的界面中)时,您只能转换为分区日期时间,否则用户会影响业务逻辑。例如“报告今天的销售数据”,其中“今天”表示用户自己的本地时区。在进行日期时间工作时,请始终考虑时区,就像处理文本文件时应始终考虑字符编码一样。