java.time.OffsetDateTime

1 java.time.OffsetDateTime介绍

Java OffsetDateTime类是带有偏移量的日期时间的不可变表示形式。它继承了Object类并实现Comparable接口。

OffsetDateTime类用于存储日期和时间字段,精度为纳秒。

2 java.time.OffsetDateTime声明

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

3 java.time.OffsetDateTime方法

方法 描述
Temporal adjustInto(Temporal temporal) 调整指定的时态对象以使其具有与此对象相同的日期和时间。
ZonedDateTime atZoneSameInstant(ZoneId zone) 将此日期时间与时区组合以创建ZonedDateTime,以确保结果具有相同的时刻。
ZonedDateTime atZoneSimilarLocal(ZoneId zone) 将此日期时间与时区组合以创建ZonedDateTime,以尝试保持相同的本地日期和时间。
int compareTo(OffsetDateTime other) 将此日期时间与另一个日期时间进行比较。
boolean equals(Object obj) 检查此日期时间是否等于另一个日期时间。
String format(DateTimeFormatter formatter) 使用指定的格式化程序格式化此日期时间。
static OffsetDateTime from(TemporalAccessor temporal) 从时态对象获取OffsetDateTime的实例。
int get(TemporalField field) 从此日期时间获取指定字段作为int值。
int getDayOfMonth() 获取日期字段。
DayOfWeek getDayOfWeek() 获取星期几字段,即枚举DayOfWeek。
int getDayOfYear() 获取日期字段。
int getHour() 获取当日时间字段。
long getLong(TemporalField field) 从此日期时间获取指定字段转为long的值。
Month getMinute() 获取分钟字段。
Month getMonth() 使用Month枚举获取月份字段。
int getMonthValue() 获取1到12之间的月份字段。
int getNano() 获取纳秒级字段。
ZoneOffset getOffset() 获取区域偏移量,例如"+01:00"。
int getSecond() 获取秒钟字段。
int getYear() 获取年份字段。
int hashCode() 此日期时间的哈希码。
boolean isAfter(OffsetDateTime other) 检查此日期时间是否在指定的日期时间之后。
boolean isBefore(OffsetDateTime other) 检查此日期时间是否在指定的日期时间之前。
boolean isEqual(OffsetDateTime other) 检查此日期时间是否等于指定的日期时间。
boolean isSupported(TemporalField field) 检查是否支持指定的字段。
boolean isSupported(TemporalUnit unit) 检查指定的单元是否受支持。
OffsetDateTime minus(long amountToSubtract, TemporalUnit unit) 返回此日期时间的副本,并减去指定的数量。
OffsetDateTime minus(TemporalAmount amountToSubtract) 返回此日期时间的副本,并减去指定的数量。
OffsetDateTime minusDays(long daysToSubtract) 返回此OffsetDateTime的副本,并减去指定的天数。
OffsetDateTime minusHours(long hoursToSubtract) 返回此OffsetDateTime的副本,并减去指定的小时数。
OffsetDateTime minusMinutes(long minutesToSubtract) 返回此OffsetDateTime的副本,并减去指定的分钟数。
OffsetDateTime minusMonths(long monthsToSubtract) 返回此OffsetDateTime的副本,并减去指定的月数。
OffsetDateTime minusNanos(long nanos) 返回此OffsetDateTime的副本,并减去指定的纳秒数。
OffsetDateTime minusSeconds(long seconds) 返回此OffsetDateTime的副本,并减去指定的秒数。
OffsetDateTime minusWeeks(long weeksToSubtract) 返回此OffsetDateTime的副本,并减去指定的周数。
OffsetDateTime minusYears(long yearsToSubtract) 返回此OffsetDateTime的副本,并减去指定的年数。
static OffsetDateTime now() 从默认时区中的系统时钟获取当前日期时间。
static OffsetDateTime now(Clock clock) 从指定的时钟获得当前日期时间。
static OffsetDateTime now(ZoneId zone) 从指定时区的系统时钟获取当前日期时间。
static OffsetDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneOffset offset) 从年,月,日,小时,分钟,秒,纳秒和偏移量获得OffsetDateTime的实例。
static OffsetDateTime of(LocalDate date, LocalTime time, ZoneOffset offset) 从日期,时间和偏移量中获取OffsetDateTime的实例。
static OffsetDateTime of(LocalDateTime dateTime, ZoneOffset offset) 从日期时间和偏移量获得OffsetDateTime的实例。
static OffsetDateTime ofInstant(Instant instant, ZoneId zone) 从Instant和区域ID获取OffsetDateTime的实例。
static OffsetDateTime parse(CharSequence text) 从文本字符串中获取OffsetDateTime的实例,例如:2007-12-03T10:15:30。
static OffsetDateTime parse(CharSequence text, DateTimeFormatter formatter) 使用特定格式化程序从文本字符串中获取OffsetDateTime的实例。
OffsetDateTime plus(long amountToAdd, TemporalUnit unit) 返回此日期时间的副本,并添加指定的数量。
OffsetDateTime plus(TemporalAmount amountToAdd) 返回此日期时间的副本,并添加指定的数量。
OffsetDateTime plusDays(long daysToAdd) 返回此OffsetDateTime的副本,并添加指定的天数。
OffsetDateTime plusHours(long hoursToAdd) 返回此OffsetDateTime的副本,并添加指定的小时数。
OffsetDateTime plusMinutes(long minutesToAdd) 返回此OffsetDateTime的副本,并添加指定的分钟数。
OffsetDateTime plusMonths(long monthsToAdd) 返回此OffsetDateTime的副本,并添加指定的月份数。
OffsetDateTime plusNanos(long nanos) 返回此OffsetDateTime的副本,其中添加了指定的纳秒数。
OffsetDateTime plusSeconds(long seconds) 返回此OffsetDateTime的副本,并添加指定的周数。
OffsetDateTime plusWeeks(long weeksToAdd) 返回此OffsetDateTime的副本,并添加指定的周数。
OffsetDateTime plusYears(long yearsToAdd) 返回此OffsetDateTime的副本,其中添加了指定的年数。
<R> R query(TemporalQuery<R> query) 使用指定的查询查询此日期时间。
ValueRange range(TemporalField field) 获取指定字段的有效值范围。
static Comparator<OffsetDateTime> timeLineOrder() 获取一个比较器,它仅根据瞬间比较两个OffsetDateTime实例。
long toEpochSecond() 将此日期时间转换为1970-01-01T00:00:00Z纪元的秒数。
Instant toInstant() 将此日期时间转换为即时。
LocalDate toLocalDate() 获取此日期时间的LocalDate部分。
LocalDateTime toLocalDateTime() 获取此日期时间的LocalDateTime部分。
LocalTime toLocalTime() 获取此日期时间的LocalTime部分。
OffsetTime toOffsetTime() 获取此日期时间的OffsetTime部分。
String toString() 将此日期输出为字符串,例如2007-12-03T10:15:30。
ZonedDateTime toZonedDateTime() 使用偏移量作为区域ID将此日期时间转换为ZonedDateTime。
OffsetDateTime truncatedTo(TemporalUnit unit) 返回此OffsetDateTime的副本,并截断时间。
long until(Temporal endExclusive, TemporalUnit unit) 根据指定的单位计算到另一个日期时间的时间量。
OffsetDateTime with(TemporalAdjuster adjuster) 返回此日期时间的调整副本。
OffsetDateTime with(TemporalField field, long newValue) 返回此日期时间的副本,并将指定字段设置为新值。
OffsetDateTime withDayOfMonth(int dayOfMonth) 返回此OffsetDateTime的副本,并更改日期。
OffsetDateTime withDayOfYear(int dayOfYear) 返回此OffsetDateTime的副本,其中包含日期更改。
OffsetDateTime withHour(int hour) 返回此OffsetDateTime的副本,并更改日期。
OffsetDateTime withMinute(int minute) 返回此OffsetDateTime的副本,并更改了分钟。
OffsetDateTime withMonth(int month) 返回此OffsetDateTime的副本,其中年份已更改。
OffsetDateTime withNano(int nanoOfSecond) 返回此OffsetDateTime的副本,并更改了纳秒。
OffsetDateTime withOffsetSameInstant(ZoneOffset offset) 返回具有指定偏移量的此OffsetDateTime的副本,确保结果处于同一时刻。
OffsetDateTime withOffsetSameLocal(ZoneOffset offset) 返回具有指定偏移量的此OffsetDateTime的副本,确保结果具有相同的本地日期时间。
OffsetDateTime withSecond(int second) 返回此OffsetDateTime的副本,并在第二分钟更改。
OffsetDateTime withYear(int year) 返回此OffsetDateTime的副本,并更改年份。

4 java.time.OffsetDateTime案例1

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
import java.time.OffsetDateTime;  
public class OffsetDateTimeExample1 {  
    public static void main(String[] args) {  
        OffsetDateTime offsetDT = OffsetDateTime.now();  
        System.out.println(offsetDT.getDayOfMonth());  
    }  
}  

输出结果为:

18

5 java.time.OffsetDateTime案例2

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
import java.time.OffsetDateTime;  
public class OffsetDateTimeExample2 {  
    public static void main(String[] args) {  
        OffsetDateTime offsetDT = OffsetDateTime.now();  
        System.out.println(offsetDT.getDayOfYear());  
    }  
}  

输出结果为:

18

 

热门文章

优秀文章