# zoneId
# 介绍
zoneId是 Java 提供各个地区的时区对象
由于世界各个国家与地区的经度不同,各地区的时间也有所不同,因此会划分为不同的时区。
世界标准时间是:UTC,中国标准时间是需要在UTC上增加8个小时
# zoneId 解释
zoneId 代表时区id
如:
- 上海:Asia/Shanghai
- 重庆:Asia/Chongqing
- 纽约:America/New_York
# 获取系统所在的时区
public class ZoneIdTest {
public static void main(String[] args) {
ZoneId zoneId = ZoneId.systemDefault();
System.out.println("当前系统所在的时区:" + zoneId.getId());
}
}
# 获取 Java 支持的全部时区id
public class ZoneIdTest {
public static void main(String[] args) {
//获取 Java 是支持的全部时区id
Set<String> availableZoneIds = ZoneId.getAvailableZoneIds();
System.out.println("时区:" + availableZoneIds);
}
}
# 将某个时区id 封装成ZoneId对象
public class ZoneIdTest {
public static void main(String[] args) {
//将某个时区id 封装成ZoneId对象
ZoneId newYork = ZoneId.of("America/New_York");
System.out.println(newYork);
}
}
# 获取指定时区的时间
public class ZoneIdTest {
public static void main(String[] args) {
//获取指定时区的时间
ZonedDateTime newYorkDateTime = ZonedDateTime.now(newYork);
System.out.println("美国时间:"+newYorkDateTime);
}
}
# 获取世界标准时间
public class ZoneIdTest {
public static void main(String[] args) {
ZonedDateTime now = ZonedDateTime.now(Clock.systemUTC());
System.out.println("世界标准时间;"+now);
}
}
# 获取系统默认时区时间
public class ZoneIdTest {
public static void main(String[] args) {
ZonedDateTime now1 = ZonedDateTime.now();
System.out.println("系统默认时间;" + now1);
}
}
# 时间操作
import java.time.Clock;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Set;
public class ZoneIdTest {
public static void main(String[] args) {
ZonedDateTime newDate = now1.plusDays(1);
System.out.println("增加的时间:" + newDate);
}
}
← localDateTime Instant →