在Java语言中,Instant类用于表示当前时间线上的特定时刻。即时类扩展了对象类并实现了 Comparable 接口。
即时类声明
public final class Instant extends Object implements Temporal, TemporalAdjuster, Comparable<Instant>, Serializable
类的字段:
场地 | 说明 |
---|---|
EPOCH | 1970-01-01T00:00:00Z 纪元时刻的常量。 |
MAX | 支持的最大即时值‘1000000000-12-31T23:59:59.999999999Z’。 |
MIN | 支持的最小即时值‘-1000000000-01-01T00:00Z’。 |
类的方法:
方法 |
Description |
---|---|
adjustmentInto(时间时间) | 此方法调整指定的时间对象以具有该时刻。 |
atOffset(ZoneOffset 偏移量) | 此方法将此时刻与偏移量相结合以创建 OffsetDateTime。 |
atZone(ZoneId 区域) | 此方法将此时刻与时区结合起来创建 ZonedDateTime。 |
比较(即时其他即时) | 此方法将此时刻与指定时刻进行比较。 |
等于(对象 otherInstant) | 此方法检查该时刻是否等于指定时刻。 |
来自(TemporalAccessor 时间) | 此方法从时间对象获取 Instant 的实例。 |
获取(TemporalField 字段) | 此方法从此时开始获取指定字段的 int 值。 |
getEpochSecond() | 此方法获取从 Java 纪元 1970-01-01T00:00:00Z 开始的秒数。 |
getLong(TemporalField 字段) | 此方法从此时开始获取指定字段的值。 |
getNano() | 此方法获取从秒开始起沿着时间线的纳秒数。 |
hashCode() | 此方法返回此时的哈希码。 |
isAfter(即时其他即时) | 此方法检查该时刻是否在指定时刻之后。 |
isBefore(即时 otherInstant) | 此方法检查该时刻是否在指定时刻之前。 |
isSupported(TemporalField 字段) | 该方法检查指定字段是否受支持。 |
isSupported(TemporalUnit 单位) | 此方法检查是否支持指定的单位。 |
减(long amountToSubtract,TemporalUnit 单位) | 此方法返回该时刻的副本,并减去指定的数量。 |
减(TemporalAmount amountToSubtract) | 此方法返回该时刻的副本,并减去指定的数量。 |
minusMillis(long millisToSubtract) | 此方法返回该时刻的副本,并减去指定的持续时间(以毫秒为单位)。 |
minusNanos(long nanosToSubtract) | 此方法返回该时刻的副本,并减去指定的纳秒持续时间。 |
minusSeconds(长秒数减去) | 此方法返回该时刻的副本,并减去指定的持续时间(以秒为单位)。 |
now() | 该方法从系统时钟获取当前时刻。 |
现在(时钟) | 该方法从指定时钟获取当前时刻。 |
ofEpochMilli(long epochMilli) | 此方法使用 1970-01-01T00:00:00Z 纪元的毫秒数获取 Instant 的实例。 |
ofEpochSecond(long epochSecond) | 此方法使用 1970-01-01T00:00:00Z 纪元的秒数获取 Instant 的实例。 |
ofEpochSecond(long epochSecond, long nanoAdjustment) | 此方法使用 1970-01-01T00:00:00Z 纪元的秒数和秒的纳秒小数部分获取 Instant 的实例。 |
解析(字符序列文本) | 此方法从文本字符串(例如 2007-12-03T10:15:30.00Z)获取 Instant 的实例。 |
plus(long amountToAdd, TemporalUnit 单位) | 此方法返回此时刻的副本,并添加指定的数量。 |
plus(TemporalAmount amountToAdd) | 此方法返回此时刻的副本,并添加指定的数量。 |
plusMillis(long millisToAdd) | 此方法返回该时刻的副本,并添加指定的持续时间(以毫秒为单位)。 |
plusNanos(长nanosToAdd) | 此方法返回该时刻的副本,并添加指定的纳秒持续时间。 |
plusSeconds(长秒数添加) | 此方法返回该时刻的副本,并添加指定的持续时间(以秒为单位)。 |
查询(TemporalQuery<R> 查询) | 此方法使用指定的查询查询当前时刻。 |
范围(TemporalField 字段) | 此方法获取指定字段的有效值范围。 |
toEpochMilli() | 此方法将此时刻转换为从 1970-01-01T00:00:00Z 纪元开始的毫秒数。 |
toString() | 使用 ISO-8601 表示形式的该时刻的字符串表示形式。 |
truncatedTo(TemporalUnit 单位) | 此方法返回此 Instant 的副本(截断为指定单位)。 |
直到(Temporal endExclusive,TemporalUnit 单位) | 此方法以指定单位计算距另一时刻的时间量。 |
with(TemporalAdjuster 调节器) | 此方法返回该时刻的调整后的副本。 |
with(TemporalField field, long newValue) | 此方法返回该时刻的副本,并将指定字段设置为新值。 |
例子:
下面的例子展示了不同的方法如何与课堂作业相关联
Java
import java.time.*;
import java.time.temporal.*;
public class GFG {
public static void main(String[] args)
{
// Parsing a string sequence to Instant
Instant inst1 = Instant.parse("2021-02-09T11:19:42.12Z");
System.out.println("Parsed instant is " + inst1);
// Using isSupported() method to check whether the
// specified field is supported or not
System.out.println(inst1.isSupported(ChronoUnit.DAYS));
System.out.println(inst1.isSupported(ChronoUnit.YEARS));
// Using Instant.now() to get current instant
Instant cur = Instant.now();
System.out.println("Current Instant is " + cur);
// Using minus() method to find instant value after
// subtraction
Instant diff = inst1.minus(Duration.ofDays(70));
System.out.println("Instant after subtraction : "+ diff);
// Using plus() method to find instant value after
// addition
Instant sum = inst1.plus(Duration.ofDays(10));
System.out.println("Instant after addition : "+ sum);
}
}
输出
Parsed instant is 2021-02-09T11:19:42.120Z true false Current Instant is 2021-03-03T16:27:54.378693Z Instant after subtraction : 2020-12-01T11:19:42.120Z Instant after addition : 2021-02-19T11:19:42.120Z
相关用法
- Java java.time.Instant.adjustInto()用法及代码示例
- Java java.time.Instant.atOffset()用法及代码示例
- Java java.time.Instant.atZone()用法及代码示例
- Java java.time.Instant.compareTo()用法及代码示例
- Java java.time.Instant.equals()用法及代码示例
- Java java.time.Instant.from()用法及代码示例
- Java java.time.Instant.get()用法及代码示例
- Java java.time.Instant.getEpochSecond()用法及代码示例
- Java java.time.Instant.getLong()用法及代码示例
- Java java.time.Instant.getNano()用法及代码示例
- Java java.time.Instant.hashCode()用法及代码示例
- Java java.time.Instant.isAfter()用法及代码示例
- Java java.time.Instant.isBefore()用法及代码示例
- Java java.time.Instant.isSupported()用法及代码示例
- Java java.time.Instant.minus()用法及代码示例
- Java java.time.Instant.minusMillis()用法及代码示例
- Java java.time.Instant.minusNanos()用法及代码示例
- Java java.time.Instant.minusSeconds()用法及代码示例
- Java java.time.Instant.now()用法及代码示例
- Java java.time.Instant.ofEpochMilli()用法及代码示例
- Java java.time.Instant.ofEpochSecond()用法及代码示例
- Java java.time.Instant.parse()用法及代码示例
- Java java.time.Instant.plus()用法及代码示例
- Java java.time.Instant.plusMillis()用法及代码示例
- Java java.time.Instant.plusNanos()用法及代码示例
注:本文由纯净天空筛选整理自ashutoshrathi大神的英文原创作品 java.time.Instant Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。