📅  最后修改于: 2023-12-03 15:16:29.607000             🧑  作者: Mango
OffsetTime
类是Java8中的时间API中的一部分,用于表示时间、日期、时间与日期的组成以及偏移量。它是一个由LocalTime和ZoneOffset组成的不可变的类。其中LocalTime表示时间,而ZoneOffset则表示与UTC时间的偏移量。
我们可以通过多种方法来使用OffsetTime
类来创建对象:
OffsetTime.now()
方法创建一个表示当前时间的偏移时间对象。
如下示例创建一个表示当前时间(北京时区的时间)的OffsetTime对象:
OffsetTime offsetTime = OffsetTime.now(ZoneId.of("Asia/Shanghai"));
OffsetTime.of()
方法用于创建一个指定时间和偏移量的OffsetTime对象。
如下所示,创建一个代表上午5点30分的偏移时间对象,偏移量为UTC + 3小时:
OffsetTime offsetTime = OffsetTime.of(5, 30, 0, ZoneOffset.ofHours(3));
OffsetTime.parse()
方法可将字符串解析为偏移时间对象。
以下代码将输入字符串解析为OffsetTime对象:
OffsetTime offsetTime = OffsetTime.parse("09:15:30+08:00");
OffsetTime
类提供了一些常用的方法:
getHour()
方法返回当前偏移时间对象的小时数,范围为0~23。
以下代码返回当前偏移时间对象的小时数:
int hour = offsetTime.getHour();
getMinute()
方法返回当前偏移时间对象的分钟数,范围为0~59。
以下代码返回当前偏移时间对象的分钟数:
int minute = offsetTime.getMinute();
getSecond()
方法返回当前偏移时间对象的秒数,范围为0~59。
以下代码返回当前偏移时间对象的秒数:
int second = offsetTime.getSecond();
getOffset()
方法返回当前偏移时间对象的偏移量。
以下代码返回当前偏移时间对象的偏移量:
ZoneOffset offset = offsetTime.getOffset();
import java.time.OffsetTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
public class OffsetTimeDemo {
public static void main(String[] args) {
// 创建一个表示当前时间(北京时区的时间)的OffsetTime对象
OffsetTime now = OffsetTime.now(ZoneId.of("Asia/Shanghai"));
System.out.println("当前时间:" + now);
// 创建一个代表上午5点30分的偏移时间对象,偏移量为UTC + 3小时
OffsetTime offsetTime = OffsetTime.of(5, 30, 0, ZoneOffset.ofHours(3));
System.out.println("指定时间:" + offsetTime);
// 将输入字符串解析为OffsetTime对象
OffsetTime parsedOffsetTime = OffsetTime.parse("09:15:30+08:00");
System.out.println("解析字符串后的偏移时间对象为:" + parsedOffsetTime);
// 获取当前偏移时间对象的小时数
int hour = now.getHour();
System.out.println("当前时间的小时数为:" + hour);
// 获取当前偏移时间对象的分钟数
int minute = now.getMinute();
System.out.println("当前时间的分钟数为:" + minute);
// 获取当前偏移时间对象的秒数
int second = now.getSecond();
System.out.println("当前时间的秒数为:" + second);
// 获取当前偏移时间对象的偏移量
ZoneOffset offset = now.getOffset();
System.out.println("当前时间的偏移量为:" + offset);
}
}
输出结果:
当前时间:14:30:30.039058100+08:00
指定时间:05:30+03:00
解析字符串后的偏移时间对象为:09:15:30+08:00
当前时间的小时数为:14
当前时间的分钟数为:30
当前时间的秒数为:30
当前时间的偏移量为:+08:00
以上就是OffsetTime
类的基本使用方式及常用方法的介绍。