用Date currentDate = new Date();如何取得指定时区的时间
时间: 2023-11-17 14:49:14 浏览: 115
要使用`Date`类获取指定时区的时间,你需要结合使用`DateFormat`和`TimeZone`类。下面是一个示例代码,展示了如何获取指定时区的当前时间:
```java
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class TimeZoneExample {
public static void main(String[] args) {
// 指定时区
TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");
// 创建日期格式化对象
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateFormat.setTimeZone(timeZone);
// 获取当前时间
Date currentDate = new Date();
// 格式化日期为字符串
String currentTime = dateFormat.format(currentDate);
System.out.println("Current time in " + timeZone.getID() + ": " + currentTime);
}
}
```
在上述代码中,你需要将`getTimeZone`的参数值替换为你想要的时区的ID,例如`"Asia/Shanghai"`表示亚洲/上海时区。
通过创建`SimpleDateFormat`对象并设置时区为指定时区,然后使用`format`方法将当前时间格式化为字符串。
最后,将结果打印出来。
请注意,上述代码中使用的`Date`类是Java旧版本中的日期类。在Java 8及更高版本中,推荐使用`java.time`包中的新日期和时间API来处理日期和时间。
阅读全文