【发布时间】:2020-02-06 19:07:42
【问题描述】:
我需要从一年中的周数中获取 Instant 时间。现在我使用旧的Calendar API 来计算时间:
int week = 1; // week of year
final Calendar cal = new GregorianCalendar();
cal.set(0, 1, 0, 0, 0, 0); // reset calendar
cal.set(Calendar.YEAR, Year.now().getValue());
cal.set(Calendar.WEEK_OF_YEAR, week);
cal.setTimeZone(TimeZone.getTimeZone(ZoneOffset.UTC));
final Instant start = cal.getTime().toInstant();
final Instant end = start.plus(Period.ofWeeks(1));
是否可以使用新的 Java 时间 API(java.time 包)从一年中的一周获取 Instant?
【问题讨论】:
-
使用新的日期 API 摆脱日历。如果没有日历,您可能会实现这一目标
-
什么是
start? -
@BrunoDM 抱歉,我将
instant重命名为start -
谢谢@Kirill。我帮你回答了
-
你的周数怎么样?
GregorianCalendar将使用 JVM 的默认语言环境的周编号,这是您想要的吗?