📌  相关文章
📜  Java中的 OffsetDateTime ofInstant() 方法及示例

📅  最后修改于: 2022-05-13 01:54:49.857000             🧑  作者: Mango

Java中的 OffsetDateTime ofInstant() 方法及示例

Java中OffsetDateTime类的ofInstant(Instant instant, ZoneId zone)方法用于从指定的instant和zoneID创建一个OffsetDateTime的实例。由于在 UTC/格林威治中每个时刻只有一个有效的偏移量,因此很容易从后者推导出一个偏移量。

句法:

public static OffsetDateTime
       ofInstant(Instant instant,
                 ZoneId zone)

参数:此方法接受两个参数:

  • instant – 它是 Instant 类型,表示创建 offsetdatetime 的时刻。它不应该为空。
  • zone – 它是 ZoneId 类型,代表时间的区域。它不应该为空。

返回值:该方法返回根据指定参数创建的OffsetDateTime

异常:如果结果超出支持的范围,此方法将引发DateTimeException

下面的程序说明了Java中 OffsetDateTime 类的 ofInstant() 方法:

方案一:

// Java program to demonstrate
// OffsetDateTime ofInstant() method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // Create OffsetDateTime object
        OffsetDateTime offsetdatetime
            = OffsetDateTime.ofInstant(
                Instant.now(),
                ZoneId.systemDefault());
  
        // Print date-time
        System.out.println("DATE-TIME: "
                           + offsetdatetime);
    }
}
输出:
DATE-TIME: 2020-05-20T04:05:38.471Z

方案二:

// Java program to demonstrate
// OffsetDateTime ofInstant() method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // Create Instant object
        Instant instant = Instant.now(
            Clock.systemUTC());
  
        // Create ZoneId object
        ZoneId zone = ZoneId.of("Z");
  
        // Create OffsetDateTime object
        OffsetDateTime offsetdatetime
            = OffsetDateTime.ofInstant(
                instant,
                zone);
  
        // Print date-time
        System.out.println("DATE-TIME: "
                           + offsetdatetime);
    }
}
输出:
DATE-TIME: 2020-05-20T04:05:42.166Z

参考:
https://docs.oracle.com/javase/10/docs/api/java Java .time.Instant, Java Java)