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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。