0

ISO 8601 では、ISO の週の日付形式が定義されています。次のように日付を表​​すために使用できます。

  • 2013-10-05等しい2013-W40-6、これは ISO 週の日付です2013-W40
  • 2008-12-29等しい2009-W01-1。これは ISO 週の日付2009-W01です。

ISO の週の日付と Joda Time のようなタイプの間で相互に変換するにはどうすればよいReadableDateTimeですか?

4

1 に答える 1

0

Joda Time が提供する を使用しISODateTimeFormatます。
次のメソッドがあります。

  • ISODateTimeFormat.weekyearWeekDay()およびISODateTimeFormat.weekDate()( などの形式の場合2009-W01-1)
  • ISODateTimeFormat.weekyearWeek()( などの形式の場合2009-W01)
  • ISODateTimeFormat.basicWeekDate()( などのコンパクトな形式の場合2009W011)

それらは次のように使用できます。

ReadableDateTime endOfYearDateTime = DateTime.parse("2008-12-29T13:06Z");
logger.info("endOfYearDateTime        : {}", endOfYearDateTime);

String endOfYearISOWeekDateString = ISODateTimeFormat.weekyearWeekDay().print(endOfYearDateTime);
logger.info("isoCalendarWeekDateString: {}", endOfYearISOWeekDateString);

ReadableDateTime reverseEndOfYearDateTime = ISODateTimeFormat.weekyearWeekDay().parseDateTime(endOfYearISOWeekDateString);
logger.info("reverseEndOfYearDateTime : {}", reverseEndOfYearDateTime);

上記のコードは、次のデータをログに記録します。

endOfYearDateTime        : 2008-12-29T13:06:00.000Z
isoCalendarWeekDateString: 2009-W01-1
reverseEndOfYearDateTime : 2008-12-29T00:00:00.000+01:00
于 2013-10-05T13:40:33.160 に答える