当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java 8 Clock instant()用法及代码示例


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-



相关用法


注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Java 8 Clock instant() method with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。