3

次のようなものを返す JSON API を照会しています。

{
  "created_time": "2017-01-05T16:32:29+0100",
  "updated_time": "2017-01-11T09:38:41+0100",
  "id": "23842536731240607"
}

時刻を UTC 形式で保存する必要がありますが、タイムゾーンを変更するには、最初にZonedDateTime.

に変換"+0100"するの"+01:00"は簡単です。しかし、(created/updated)_time を解析しZonedDateTimeて UTC に変換するにはどうすればよいですか?

4

2 に答える 2

0

さて、問題文を分解させてください。

まず、API を照会している場合、(作成している場合でも) 標準の Date-Time 形式に従っていると想定できます。指定された日付を見ると、次のように見えます - ** ISO 8601 - 日付と時刻の形式 **

したがって、問題はISO 8601 - 日付と時刻の形式を解析する方法です

利用可能な最良のオプションは何ですか?

  • Joda Timeを使用します。
  • 日時 API Java-8 の使用

    //Joda
    String jtDate = "2010-01-01T12:00:00+01:00";
    DateTimeFormatter yoda = ISODateTimeFormat.dateTimeNoMillis();
    System.out.println(parser2.parseDateTime(jtDate));
    
    //using Java 8 (As you specified - To convert "+0100" to "+01:00"    is easy enough.)
    String strDate = "2017-01-05T16:32:29+01:00";
    DateTimeFormatter timeFormatter = DateTimeFormatter.ISO_DATE_TIME;
    TemporalAccessor convertMe = timeFormatter.parse(strDate);
    Date date = Date.from(Instant.from(convertMe));
    System.out.println(date);
    

それが役に立てば幸い :)

于 2017-01-12T13:51:32.353 に答える