进阶day01-ZoneId(时区对象)

This commit is contained in:
2026-01-28 14:02:32 +08:00
parent 9457e70f7e
commit bed9327923

View File

@@ -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<String> 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);
//带时区的时间对象的作用跟localDatelocalTime,localDateTime一样的,API也是一致的
}
}