當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。