首页 > Java > java教程 > 正文

Java 区域偏移量

王林
发布: 2024-08-30 15:50:35
原创
554 人浏览过

ZoneOffset 是 Java 中的一个类,表示相对于时区 UTC 的固定时区偏移量。该类继承ZoneId类,并实现Comparable接口。

该类声明了三个字段:

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

  • MAX:  支持的最大偏移量,这是一个常量
  • MIN:支持的最小偏移量,是一个常量
  • UTC: UTC 时区的偏移常量(ID: ‘Z’)

让我们在以下部分中了解有关此类的更多信息。

语法

下面是 ZoneOffset 类的声明

public final class ZoneOffset extends ZoneId implements TemporalAccessor, TemporalAdjuster, Comparable<ZoneOffset>, Serializable
登录后复制

Java ZoneOffset 方法

以下是执行不同功能的 ZoneOffset 类的不同方法:

1.调整(Temporaltemp)

提到的时间对象 temp 将被调整,以便与该对象具有相同的偏移量。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZonedDateTime dt = ZonedDateTime.now();
System.out.println(dt);
ZoneOffset off = ZoneOffset.of("Z");
dt = (ZonedDateTime)off.adjustInto(dt);
System.out.println(dt);
}
}
登录后复制

输出:

Java 区域偏移量

2.比较(ZoneOffsetotheroff)

此偏移量按降序与另一个偏移量进行比较。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("Z");
ZoneOffset off2 = ZoneOffset.of("+03:05");
System.out.println("First offset :"+ off1);
System.out.println("Second offset :"+ off2);
int cmp = off1.compareTo(off2);
System.out.println(cmp > 1 ? "Offset 1 is greater" : "Offset 2 is greater");
} }
登录后复制

输出:

Java 区域偏移量

3. equals(Objectobj)

将此偏移量与另一个偏移量检查它们是否相等。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("Z");
ZoneOffset off2 = ZoneOffset.of("+03:05");
System.out.println("First offset :"+ off1);
System.out.println("Second offset :"+ off2);
boolean cmp = off1.equals(off2);
System.out.println(cmp);    } }
登录后复制

输出:

Java 区域偏移量

4.来自(TemporalAccessortemp)

offset 实例来自时间对象。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.from(ZonedDateTime.now());
System.out.println(off1);
}
}
登录后复制

输出:

Java 区域偏移量

5.获取(TemporalFieldf)

字段 f 的值将从偏移量中以 int 形式检索。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.from(ZonedDateTime.now());
System.out.println(off1);
System.out.println(off1.get(ChronoField.OFFSET_SECONDS));
} }
登录后复制

输出:

Java 区域偏移量

6. getId( )

将检索标准化区域的偏移 ID。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("+03:50");
System.out.println(off1);
System.out.println(off1.getId());
}
}
登录后复制

输出:

Java 区域偏移量

7. getLong(TemporalFieldf)

将从偏移量中检索字段 f 的值。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.from(ZonedDateTime.now());
System.out.println(off1);
System.out.println(off1.getLong(ChronoField.OFFSET_SECONDS));
} }
登录后复制

输出:

Java 区域偏移量

8. getRules()

将检索关联时区的规则。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.from(ZonedDateTime.now());
System.out.println(off1);
System.out.println(off1.getRules());
} }
登录后复制

输出:

Java 区域偏移量

9. getTotalSeconds( )

总区域偏移量将在几秒钟内检索。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.from(ZonedDateTime.now());
System.out.println(off1);
System.out.println(off1.getTotalSeconds()); } }
登录后复制

输出:

Java 区域偏移量

10。小时数(int hrs)

zoneoffset 的实例将在数小时内检索。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.ofHours(3);
System.out.println(off1);
} }
登录后复制

输出:

Java 区域偏移量

11。 ofHoursMinutes(int hrs, int mints)

zoneoffset 的实例将在几小时和几分钟内检索。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.ofHoursMinutes(3, 5);
System.out.println(off1);   } }
登录后复制

输出:

Java 区域偏移量

12。 ofHoursMinutesSeconds(int hrs, int mints, int sec)

zoneoffset 的实例将在小时、分钟和秒内检索。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.ofHoursMinutesSeconds(3, 5, 7);
System.out.println(off1);
} }
登录后复制

输出:

Java 区域偏移量

13。 hashCode()

将检索 zoneoffset 的哈希码。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.from(ZonedDateTime.now());
System.out.println(off1);
System.out.println(off1.hashCode());
} }
登录后复制

输出:

Java 区域偏移量

14。 ofTotalSeconds(inttotalsecs)

zoneoffset 的实例将在几秒钟内检索。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.ofTotalSeconds(2800);
System.out.println(off1);
} }
登录后复制

输出:

Java 区域偏移量

15。 isSupported(TemporalFieldf)

检查是否支持提到的字段。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("Z");
System.out.println(off1);
System.out.println(off1.isSupported(ChronoField.OFFSET_SECONDS));
} }
登录后复制

输出:

Java 区域偏移量

16。 of(Stringoffsetid)

将使用 ID 检索 zoneoffset 的实例。

代码:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("Z");
System.out.println(off1);
} }
登录后复制

Output:

Java 区域偏移量

17. toString()

zoneoffset will be retrieved s string using an ID that is normalized.

Code:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
String off1 = ZoneOffset.of("Z").toString();
System.out.println(off1);
} }
登录后复制

Output:

Java 区域偏移量

18. query(TemporalQuery query)

zoneoffset will be queried using the query mentioned.

Code:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("+08:00");
System.out.println(off1);
System.out.println(off1.query(TemporalQueries.zone()));  } }
登录后复制

Output:

Java 区域偏移量

19. range(TemporalFieldf)

The range of valid values will be retrieved for the field mentioned.

Code:

import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
import java.time.temporal.TemporalQueries;
public class OffsetZoneEx {
public static void main(String[] args) {
ZoneOffset off1 = ZoneOffset.of("+08:00");
System.out.println(off1);
System.out.println(off1.range(ChronoField.OFFSET_SECONDS ));
} }
登录后复制

Output:

Java 区域偏移量

Conclusion

In Java, ZoneOffset is a class that denotes the fixed zone offset from the time zone UTC. MAX, MIN, and UTC are the three fields of this class. In this article, different details such as declaration, methods, and examples of Java ZoneOffset class is explained in detail.

以上是Java 区域偏移量的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!