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