java.time.ZoneId
1 java.time.ZoneId介绍
Java ZoneId类指定时区标识符,并提供在Instant和LocalDateTime之间进行转换的规则。它继承了Object类并实现了Serializable接口。
2 java.time.ZoneId声明
我们来看一下java.time.ZoneId类的声明。
public abstract class ZoneId extends Object implements Serializable
3 java.time.ZoneId方法
方法 | 描述 |
---|---|
boolean equals(Object obj) | 检查此时区ID是否等于另一个时区ID。 |
static ZoneId from(TemporalAccessor temporal) | 从时态对象获取ZoneId的实例。 |
static Set<String> getAvailableZoneIds() | 获取可用区域ID的集合。 |
String getDisplayName(TextStyle style, Locale locale) | 获取区域的文本表示,例如:British Time或+02:00。 |
abstract String getId() | 获取唯一的时区ID。 |
abstract ZoneRules getRules() | 获取此ID的时区规则,允许执行计算。 |
int hashCode() | 此时区ID的哈希码。 |
ZoneId normalized() | 规范化时区ID,尽可能返回ZoneOffset。 |
static ZoneId of(String zoneId) | 从ID获取ZoneId的实例,确保该ID有效且可供使用。 |
static ZoneId of(String zoneId, Map<String,String> aliasMap) | 使用别名映射使用其ID获取ZoneId的实例以补充标准区域ID。 |
static ZoneId ofOffset(String prefix, ZoneOffset offset) | 获得包装偏移量的ZoneId实例。 |
static ZoneId systemDefault() | 获取系统默认时区。 |
String toString() | 使用ID将此区域输出为String。 |
4 java.time.ZoneId案例1
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
import java.time.*;
public class ZoneIdExample1 {
public static void main(String... args) {
ZoneId zoneid1 = ZoneId.of("Asia/Kolkata");
ZoneId zoneid2 = ZoneId.of("Asia/Tokyo");
LocalTime id1 = LocalTime.now(zoneid1);
LocalTime id2 = LocalTime.now(zoneid2);
System.out.println(id1);
System.out.println(id2);
System.out.println(id1.isBefore(id2));
}
}
输出结果为:
14:28:58.230
17:58:58.230
true
5 java.time.ZoneId案例2
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
import java.time.ZoneId;
public class ZoneIdExample2 {
public static void main(String[] args) {
ZoneId zone = ZoneId.systemDefault();
System.out.println(zone);
}
}
输出结果为:
Asia/Kolkata
热门文章
优秀文章