Java 8 Clock instant()方法及其示例

Java时钟类是日期时间API Java的一部分。时间时钟,爪哇的。Java日期时间API是从Java版本8添加的。

null

Clock类的instant()方法将Clock对象的当前瞬间作为instant类对象返回。Instant生成表示机器时间的时间戳。因此,该方法为时钟对象生成时间戳。这里是我们的目标 JAVA时间瞬间 类,表示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的instant()方法。时间时钟等级:

方案1 :使用instant()通过systemDefaultZone获取时钟对象

// 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()获取带“欧洲/巴黎”区域的时钟对象

要获取基于区域的日期和时间,请使用从instant获取ZonedDateTime对象 atZone(ZoneId区) 打印该区域的日期和时间。

语法:

// 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–

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享