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


Java java.time.InstantSource用法及代碼示例


Java 中的 java.time.Instant 類本質上表示一個時間點。這是 Unix 時代時間軸上的一個精確時刻。 Unix 紀元是 1970 年 1 月 1 日的 00:00:00 UTC 時間。 Instant 類可用於表示時間戳、持續時間和間隔。

即時值可以從各種來源獲得,包括時鍾時間、網絡時間和數據庫時間。 Instant.now() 是從係統時鍾返回當前時刻的方法。這對於獲取當前時間戳很有用。

使用Instant.now()獲取當前時間戳的示例

Java


/*package whatever //do not write package name here */
  
import java.time.Instant; 
  
public class InstantExample { 
    public static void main(String[] args) { 
        // Get the current instant 
        Instant now = Instant.now(); 
        System.out.println("Current timestamp: " + now); 
    } 
} 

輸出:

Current timestamp: 2023-04-03T12:32:34.243715Z

除了Instant.now()之外,還有其他方法可以創建Instant對象。例如,您可以使用 Instant.parse() 方法解析表示瞬間的字符串。這是一個例子:

Java


/*package whatever //do not write package name here */
  
import java.time.Instant; 
  
public class InstantExample { 
    public static void main(String[] args) { 
        // Parse a string that represents an instant 
        Instant instant = Instant.parse("2023-04-03T12:32:34.243715Z"); 
        System.out.println("Parsed timestamp: " + instant); 
    } 
} 

輸出:

Parsed timestamp: 2023-04-03T12:32:34.243715Z

您還可以使用 Date.toInstant() 方法從 java.util.Date 對象創建 Instant 對象。這是一個例子:

Java


/*package whatever //do not write package name here */
  
import java.time.Instant; 
import java.util.Date; 
  
public class InstantExample { 
    public static void main(String[] args) { 
        
        // Create a Date object 
        Date date = new Date(); 
  
        // Convert the Date object to an Instant 
        Instant instant = date.toInstant(); 
  
        System.out.println("Instant from Date: " + instant); 
    } 
} 

輸出:

Instant from Date: 2023-04-03T12:32:34.244891Z

即時對象是不可變的,這意味著一旦創建即時對象,它的值就不會改變。但是,您可以使用 Instant.plus() 和 Instant.minus() 等方法基於現有 Instant 對象創建新的 Instant 對象。這些方法返回一個新的 Instant 對象,該對象按指定的時間量進行調整。例如:

Java


/*package whatever //do not write package name here */
  
import java.time.Instant; 
import java.time.temporal.ChronoUnit; 
  
public class InstantExample { 
    public static void main(String[] args) { 
        
        // Get the current instant 
        Instant now = Instant.now(); 
        System.out.println("Current timestamp: " + now); 
  
        // Add 1 hour to the current instant 
        Instant oneHourLater = now.plus(1, ChronoUnit.HOURS); 
        System.out.println("One hour later: " + oneHourLater); 
  
        // Subtract 30 seconds from the current instant 
        Instant thirtySecondsEarlier = now.minus(30, ChronoUnit.SECONDS); 
        System.out.println("Thirty seconds earlier: " + thirtySecondsEarlier); 
        
    } 
} 

輸出:

Current timestamp: 2023-04-03T12:32:34.245917Z
One hour later: 2023-04-03T13:32:34.


相關用法


注:本文由純淨天空篩選整理自harshalpatil73大神的英文原創作品 java.time.InstantSource Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。