diff --git a/javaSE-day01/src/com/inmind/jdk8_time04/ZoneIdDemo15.java b/javaSE-day01/src/com/inmind/jdk8_time04/ZoneIdDemo15.java new file mode 100644 index 0000000..a23b55d --- /dev/null +++ b/javaSE-day01/src/com/inmind/jdk8_time04/ZoneIdDemo15.java @@ -0,0 +1,42 @@ +package com.inmind.jdk8_time04; + +import java.time.Clock; +import java.time.ZoneId; +import java.time.ZonedDateTime; + +/* +我们学习代表时区的两个类。由于世界各个国家与地区的经度不同, +各地区的时间也有所不同,因此会划分为不同的时区。每一个时区的时间也不太一样。 + */ +public class ZoneIdDemo15 { + public static void main(String[] args) { + // 目标:了解时区和带时区的时间。 + // 1、ZoneId的常见方法: + // public static ZoneId systemDefault(): 获取系统默认的时区 + ZoneId zoneId = ZoneId.systemDefault(); + String id = zoneId.getId();//获取时区的id标识 + System.out.println(id); + System.out.println(zoneId);//ZoneId引用数据类型,保存的是地址,重写了toString,展示的是ID标识,Asia/Shanghai + + // public static Set getAvailableZoneIds(): 获取Java支持的全部时区Id + System.out.println(ZoneId.getAvailableZoneIds()); + + // public static ZoneId of(String zoneId) : 把某个时区id封装成ZoneId对象 + ZoneId zoneId1 = ZoneId.of("America/Cuiaba"); + System.out.println(zoneId1); + System.out.println("--------------------"); + + // 2、ZonedDateTime:带时区的时间。 + // public static ZonedDateTime now(ZoneId zone): 获取某个时区的ZonedDateTime对象。 + ZonedDateTime zdt = ZonedDateTime.now(); + ZonedDateTime zdt1 = ZonedDateTime.now(zoneId1); + System.out.println(zdt); + System.out.println(zdt1); + + // 世界标准时间(地平线) + ZonedDateTime now = ZonedDateTime.now(Clock.systemUTC()); + System.out.println(now); + + //带时区的时间对象的作用跟localDate,localTime,localDateTime一样的,API也是一致的!!! + } +}