java.time.OffsetTime

1 java.time.OffsetTime介绍

Java OffsetTime类是一个不变的日期时间对象,它代表一个时间,通常被视为小时,分钟,秒的偏移量。它继承了Object类并实现Comparable接口。

2 java.time.OffsetTime声明

我们来看一下java.time.OffsetTime类的声明。

public final class OffsetTime extends Object implements Temporal, TemporalAdjuster, Comparable<OffsetTime>, Serializable  

3 java.time.OffsetTime方法

方法 描述
Temporal adjustInto(Temporal temporal) 调整指定的时态对象以使其具有与此对象相同的日期和时间。
OffsetDateTime atDate(LocalDate date) 将此时间与日期组合以创建OffsetDateTime。
int compareTo(OffsetTime other) 这个时间与另一个时间比较。
boolean equals(Object obj) 检查此时间是否等于另一个指定的时间。
String format(DateTimeFormatter formatter) 使用指定的格式化程序格式化。
static OffsetTime from(TemporalAccessor temporal) 从时态对象获取OffsetTime的实例。
int get(TemporalField field) 从此时间获取指定字段的int值。
int getHour() 获取当天小时时间字段。
long getLong(TemporalField field) 从此时间为long获取指定字段的值。
int getMinute() 获取分钟字段。
int getNano() 获取纳秒级字段。
ZoneOffset getOffset() 获取区域偏移量,例如"+01:00"。
int getSecond() 获取秒钟字段。
int hashCode() 获取秒钟字段。
boolean isAfter(OffsetTime other) 检查此OffsetTime的瞬间是否在指定时间之后,将两次应用于共同日期。
boolean isBefore(OffsetTime other) 检查此OffsetTime的瞬间是否在指定时间之前,将两次应用于共同日期。
boolean isEqual(OffsetTime other) 检查此OffsetTime的瞬间是否等于指定时间的瞬间,将两次应用于共同日期。
boolean isSupported(TemporalField field) 检查是否支持指定的字段。
boolean isSupported(TemporalUnit unit) 检查指定的单元是否受支持。
OffsetTime minus(long amountToSubtract, TemporalUnit unit) 返回此时间的副本,并减去指定的数量。
OffsetTime minus(TemporalAmount amountToSubtract) 返回此时间的副本,并减去指定的数量。
OffsetTime minusHours(long hoursToSubtract) 返回此OffsetTime的副本,并减去指定的小时数。
OffsetTime minusMinutes(long minutesToSubtract) 返回此OffsetTime的副本,并减去指定的分钟数。
OffsetTime minusNanos(long nanos) 返回此OffsetTime的副本,并减去指定的纳秒数。
OffsetTime minusSeconds(long seconds) 返回此OffsetTime的副本,并减去指定的秒数。
static OffsetTime now() 在默认时区中从系统时钟获取当前时间。
static OffsetTime now(Clock clock) 从指定的时钟获得当前时间。
static OffsetTime now(ZoneId zone) 从指定时区的系统时钟获取当前时间。
static OffsetTime of(int hour, int minute, int second, int nanoOfSecond, ZoneOffset offset) 从小时,分钟,秒,纳秒和偏移量获得OffsetTime的实例。
static OffsetTime of(LocalTime time, ZoneOffset offset) 从本地时间和偏移量获取OffsetTime的实例。
static OffsetTime ofInstant(Instant instant, ZoneId zone) 从Instant和区域ID获取OffsetTime的实例。
static OffsetTime parse(CharSequence text) 从文本字符串(例如10:15:30 + 01:00)获取OffsetTime的实例。
static OffsetTime parse(CharSequence text, DateTimeFormatter formatter) 使用特定格式化程序从文本字符串中获取OffsetTime的实例。
OffsetTime plus(long amountToAdd, TemporalUnit unit) 返回此时间的副本,并添加指定的数量。
OffsetTime plus(TemporalAmount amountToAdd) 返回此时间的副本,并添加指定的数量。
OffsetTime plusHours(long hoursToAdd) 返回此OffsetTime的副本,并添加指定的小时数。
OffsetTime plusMinutes(long minutesToAdd) 返回此OffsetTime的副本,并添加指定的分钟数。
OffsetTime plusNanos(long nanos) 返回此OffsetTime的副本,并添加指定的纳秒数。
OffsetTime plusSeconds(long seconds) 返回此OffsetTime的副本,并添加指定的秒数。
<R> R query(TemporalQuery<R> query) 这次使用指定的查询进行查询。
ValueRange range(TemporalField field) 获取指定字段的有效值范围。
LocalTime toLocalTime() 获取此日期时间的LocalTime部分。
String toString() 将此日期输出为String,例如10:15。
OffsetTime truncatedTo(TemporalUnit unit) 返回此OffsetTime的副本,并截断时间。
long until(Temporal endExclusive, TemporalUnit unit) 根据指定的单位计算到另一个时间的时间量。
OffsetTime with(TemporalAdjuster adjuster) 返回此时的调整副本。
OffsetTime with(TemporalField field, long newValue) 返回此时间的副本,并将指定字段设置为新值。
OffsetTime withHour(int hour) 返回此OffsetTime的副本,并更改日期。
OffsetTime withMinute(int minute) 返回此OffsetTime的副本,并更改了分钟。
OffsetTime withNano(int nanoOfSecond) 返回此OffsetTime的副本,并更改纳秒。
OffsetTime withOffsetSameInstant(ZoneOffset offset) 返回具有指定偏移量的此OffsetTime的副本,确保结果在隐含日期的同一时刻。
OffsetTime withOffsetSameLocal(ZoneOffset offset) 返回具有指定偏移量的此OffsetTime的副本,确保结果具有相同的本地时间。
OffsetTime withSecond(int second) 返回此OffsetTime的副本,并更改秒钟。

4 java.time.OffsetTime案例1

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
import java.time.OffsetTime;  
import java.time.temporal.ChronoField;  
public class OffsetTimeExample1 {  
  public static void main(String[] args) {  
    OffsetTime offset = OffsetTime.now();  
    int h = offset.get(ChronoField.HOUR_OF_DAY);  
    System.out.println(h);  
    int m = offset.get(ChronoField.MINUTE_OF_DAY);  
    System.out.println(m);  
    int s = offset.get(ChronoField.SECOND_OF_DAY);  
    System.out.println(s);  
  }  
}  

输出结果为:

16
970
58224

5 java.time.OffsetTime案例2

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
import java.time.OffsetTime;  
public class OffsetTimeExample2 {  
  public static void main(String[] args) {  
    OffsetTime offset = OffsetTime.now();  
    int h = offset.getHour();  
    System.out.println(h+ " hour");  
  }  
}  

输出结果为:

15 hour

 

热门文章

优秀文章