我有一个方法 getCalendarFromClass
返回一个 Calendar
的对象。
我正在使用 fromCalendarFields
方法将它转换为 Joda Time API 的 LocalDate
。
LocalDate.fromCalendarFields(a.getCalendarFromClass());
但是如何在执行此转换时指定 TimeZone
,因为我没有在 javadoc 中找到它。
fromCalendarFields
方法的 javadoc 提到:
每个字段都从日历中查询并分配给 LocalDate。如果您一直将日历用作本地日期而忽略时区,这将非常有用。
最佳答案
1) 获取时区:
TimeZone tz = calendar.getTimeZone();
2) 从日历创建一个 Joda DateTime:
DateTimeZone jodaTz = DateTimeZone.forID(tz.getID());
DateTime dateTime = new DateTime(calendar.getTimeInMillis(), jodaTz);
3) 获取本地日期
LocalDate localDate = dateTime.toLocalDate();
关于java - Joda Time - 将日历对象转换为 LocalDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13585512/