Calendar.getInstance()..set(year, month, day, hour, minute, second) 如何在切换时区后还能得到正确的时间
时间: 2024-04-13 13:28:50 浏览: 231
在切换时区后,你可以使用 `Calendar` 对象的 `setTimeZone()` 方法来设置新的时区,并且仍能够得到正确的时间。以下是一个示例代码:
```java
import java.util.Calendar;
import java.util.TimeZone;
// 创建 Calendar 对象并设置时间
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1); // 月份从 0 开始,所以需要减去 1
calendar.set(Calendar.DAY_OF_MONTH, day);
calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, second);
// 切换时区
TimeZone newTimeZone = TimeZone.getTimeZone("America/New_York");
calendar.setTimeZone(newTimeZone);
// 打印时间
System.out.println("切换后的时间:" + calendar.getTime());
```
在上述代码中,我们首先创建了一个 `Calendar` 对象并设置了指定的年、月、日、时、分、秒。然后,我们使用 `setTimeZone()` 方法将时区设置为 "America/New_York"。最后,我们使用 `getTime()` 方法获取切换后的时间并打印出来。
你可以根据需要将 "America/New_York" 替换为你想要的目标时区。确保使用正确的时区标识符。
阅读全文