Java Clock类是Java的Date Time API(java.time.Clock)的一部分。 Java日期时间API是从Java版本8添加的。
Clock类的instant()方法将Clock对象的当前时刻作为Instant Class Object返回。 Instant生成时间戳以表示机器时间。因此,此方法为时钟对象生成一个时间戳。这里返回的Instant是java.time.Instant类的Object,它表示UTC区域中时间轴上的特定时刻。此时间轴是自1970年UTC的第一时刻以来的毫秒数。如今,大多数业务逻辑,数据存储和数据交换都应使用UTC,因此使用Instant很有用。
用法:
public abstract Instant instant()
返回值:此方法返回时钟对象的当前时刻。
异常:如果无法获取时钟对象的时刻,则此方法将引发DateTimeException。
例:
Input:: a clock class Object e.g Clock.systemDefaultZone() Output:: instant e.g. 2018-08-19T20:22:23.366Z Explanation:: when instant() is called, it returns a current instant of Clock Class Object.
下面的程序演示了java.time.Clock类的instant()方法:
程序1::使用instant()使用systemDefaultZone获取Clock对象
// Java Program to demonstrate
// instant() method of Clock class
import java.time.*;
// create class
public class instantMethodDemo {
// Main method
public static void main(String[] args)
{
// create Clock Object
Clock clock = Clock.systemDefaultZone();
// get Instant Object of Clock
// object using instant() method
Instant instantObj = clock.instant();
// print details of Instant Object
System.out.println("Instant for class " + clock
+ " is " + instantObj);
}
}
Instant for class SystemClock[Etc/UTC] is 2018-08-21T05:31:10.662Z
程序2::使用instant()获取具有“Europe/Paris”区域的Clock对象
若要获取基于区域的日期和时间,请使用atZone(ZoneId zone)从即时获取ZonedDateTime对象,以打印该区域的日期和时间。
用法:
// get ZonedDateTime object from instant object returned by instant() method of Clock class ZonedDateTime time = Clock.systemDefaultZone().instant().atZone(Clock.getZone());
代码:
// Java Program to demonstrate
// instant() method of Clock class
import java.time.*;
// create class
public class instantMethodDemo {
// Main method
public static void main(String[] args)
{
// create a Zone Id for Europe/Paris
ZoneId zoneId = ZoneId.of("Europe/Paris");
// create Clock Object by passing zoneID
Clock clock = Clock.system(zoneId);
// get Instant Object of Clock
// object using instant() method
Instant instantObj = clock.instant();
// get ZonedDateTime object from
// instantObj to get zonal date time
ZonedDateTime time = instantObj.atZone(clock.getZone());
// print details of Instant Object
System.out.println("Instant for class " + clock
+ " is " + time.toString());
}
}
Instant for class SystemClock[Europe/Paris] is 2018-08-21T07:31:13.525+02:00[Europe/Paris]
参考:
https://docs.oracle.com/javase/8/docs/api/java/time/Clock.html#instant-
相关用法
- Java Instant get()用法及代码示例
- Java Instant plus()用法及代码示例
- Java Instant from()用法及代码示例
- Java Instant until()用法及代码示例
- Java Instant now()用法及代码示例
- Java Instant with()用法及代码示例
- Java Instant plusMillis()用法及代码示例
- Java Instant getEpochSecond()用法及代码示例
- Java Instant toString()用法及代码示例
- Java Instant plusSeconds()用法及代码示例
- Java Instant ofEpochMilli()用法及代码示例
- Java Instant range()用法及代码示例
- Java Instant plusNanos()用法及代码示例
- Java Instant minusNanos()用法及代码示例
- Java Instant minusSeconds()用法及代码示例
注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Java 8 Clock instant() method with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。