【问题标题】:Convert json date to date in java在java中将json日期转换为日期
【发布时间】:2015-12-04 09:51:20
【问题描述】:

如何将 json 日期转换为 java.util.Date

{"date":31,"day":4,"hours":0,"minutes":0,"month":11,"seconds":0,"time":2145805200000,"timezoneOffset":-420,"year":137}

感谢您的帮助

【问题讨论】:

  • 您只需解析time2145805200000 并创建像java.util.Date(2145805200000l) 这样的日期对象即可为您提供相应的日期。由于java.util.Date 与时区无关,因此无需考虑timezoneOffset

标签: java json date


【解决方案1】:

通过快速的谷歌搜索,我找到了这个网页:CLICK
返回 Date 的“解析”方法向您展示了如何在 Java 中使用 SimpleDateFormat 类,该类用于将字符串解析为 Date

希望对您有所帮助!

【讨论】:

    【解决方案2】:

    没有 JSON 日期

    没有 JSON 日期之类的东西。 JSON 有 very few data types,它们都与日期时间无关。

    自纪元以来的计数

    价值为2145805200000time 项目可能是自epoch 以来的计数。这两个问题是:什么时代?以及什么粒度的计数?

    常用的是milliseconds,因为UTC是1970年第一刻的Unix epoch

    Java 8 及更高版本中内置的 java.time 框架可以翻译此类数字。 Instant 类代表 UTC 时间线上的时刻。

    long sinceEpoch = 2145805200000L;
    Instant instant = Instant.ofEpochMilli ( sinceEpoch );
    

    转储到控制台。

    System.out.println ( "instant: " + instant );
    

    即时:2037-12-30T17:00:00Z

    该值可能与 JSON 中的其他字段接近,但并不完全匹配。

    您的 JSON 有一个字段 timezoneOffset,其值为 -420。如果我们将该数字解释为以分钟为单位的offset-from-UTC,则意味着 7 小时。我们可以要求 java.time 将 Instant 调整为这样的偏移量。

    通常我们希望使用时区进行此调整。时区是 UTC 的偏移量加上一组用于处理异常的历史规则,例如夏令时 (DST)。但在这种情况下,我们只有与 UTC 的偏移量。因此,我们不使用ZoneId,而是使用子类ZoneOffset。结果是ZonedDateTime

    ZoneOffset zoneOffset = ZoneOffset.ofHours ( 7 );
    ZonedDateTime zdt = ZonedDateTime.ofInstant ( instant , zoneOffset );
    

    转储到控制台。

        System.out.println ( "instant: " + instant + " + zoneOffset: " + zoneOffset + " = zdt: " + zdt );
    

    即时:2037-12-30T17:00:00Z + zoneOffset:+07:00 = zdt:2037-12-31T00:00+07:00

    这让我们来到了 2037 年 12 月 31 日这一天的开始。仍然与其他 JSON 字段不完全匹配。

    但是,如果 -420 的意思是 落后 UTC 而不是提前 7 小时,我们需要将该偏移量从 7 小时更改为负的 -7 小时。那么结果将是:

    即时:2037-12-30T17:00:00Z + zoneOffset:-07:00 = zdt:2037-12-30T10:00-07:00

    如果您对 JSON 数据了解得更多,或许可以找到解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      • 2021-06-07
      • 1970-01-01
      • 2016-05-26
      • 2014-05-23
      相关资源
      最近更新 更多