8

getCalendarFromClassのオブジェクトを返すメソッドがありますCalendar

そして、メソッドLocalDateを使用して Joda Time APIに変換しています。fromCalendarFields

LocalDate.fromCalendarFields(a.getCalendarFromClass());

TimeZoneしかし、javadoc で見つけられなかったので、この変換を実行するときにどのように指定できますか。

fromCalendarFieldsメソッド言及 のjavadoc :

各フィールドは Calendar から照会され、LocalDate に割り当てられます。これは、カレンダーをローカル日付として使用し、ゾーンを無視している場合に便利です。

4

3 に答える 3

11

1) タイムゾーンを取得します。

TimeZone tz = calendar.getTimeZone();

2) カレンダーから Joda DateTime を作成します。

DateTimeZone jodaTz = DateTimeZone.forID(tz.getID());
DateTime dateTime = new DateTime(calendar.getTimeInMillis(), jodaTz);

3) LocalDate を取得する

LocalDate localDate = dateTime.toLocalDate();
于 2012-11-27T13:56:26.870 に答える
7

にはタイム ゾーンがあり、Joda Time が異なるフィールド値を要求するときにCalendar( によって) 使用されます。CalendarJoda Time はcalendar.get(Calendar.YEAR)etcを使用するだけです。

返された にLocalDateは、概念的にはタイム ゾーンがありません。

于 2012-11-27T13:42:41.377 に答える