📅  最后修改于: 2023-12-03 15:16:19.313000             🧑  作者: Mango
在Java 8及其以上版本中,ZonedDateTime类提供了of()方法,用于创建一个ZonedDateTime对象。该方法接受一个LocalDateTime对象和一个ZoneId对象,用于表示特定时区。
public static ZonedDateTime of(LocalDateTime localDateTime, ZoneId zone)
返回一个新的ZonedDateTime对象,表示指定的日期、时间、和时区。
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class ZonedDateTimeDemo {
public static void main(String[] args) {
// 获取当前时间的ZonedDateTime对象
ZonedDateTime now = ZonedDateTime.now();
System.out.println("现在时间是:" + now);
// 创建一个指定时区的ZonedDateTime对象
ZoneId zone = ZoneId.of("Asia/Shanghai");
LocalDateTime dateTime = LocalDateTime.of(2022, 9, 1, 0, 0, 0);
ZonedDateTime zonedDateTime = ZonedDateTime.of(dateTime, zone);
System.out.println("指定时区时间是:" + zonedDateTime);
}
}
输出结果:
现在时间是:2022-09-23T17:51:07.920+08:00[Asia/Shanghai]
指定时区时间是:2022-09-01T00:00+08:00[Asia/Shanghai]
在上面的示例中,我们首先获取了当前时间的ZonedDateTime对象,然后使用of()方法创建了一个指定时区的ZonedDateTime对象。
总结:ZonedDateTime of() 方法是创建ZonedDateTime对象的重要方法,可以结合Java 8的其他日期类一起使用,提供一种方便、易于使用的日期和时间处理方式。