我正在尝试Date
从系统默认时区创建具有美国时区的对象。
我正在使用 java 8 新的日期时间 API。要创建日期对象,我正在使用
Calendar
API。有什么办法可以Date
用 out 创建对象Calendar
吗?
下面的代码按预期工作,但只是想知道是否还有其他更好的方法。
ZonedDateTime timeZone = ZonedDateTime.ofInstant(
new Date().toInstant(), ZoneId.systemDefault());
Calendar c = Calendar.getInstance();
timeZone = timeZone.withZoneSameInstant((ZoneId
.of("America/Anchorage")));
// Calendar c = Calendar.getInstance();
c.set(timeZone.getYear(),
timeZone.getMonthValue() - 1,
timeZone.getDayOfMonth(),
timeZone.getHour(), timeZone.getMinute());
Date usDate = c.getTime();
System.out.println(usDate);