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


Java ZonedDateTime of()用法及代码示例

在ZonedDateTime类中,根据传递给它的参数,存在三种类型的of()方法。

of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneId zone)

ZonedDateTime类的of()方法用于从年,月,日,时,分,秒,纳秒和时区中获取ZonedDateTime的实例。所有这些值分别是年,月,日,时,分,秒,纳秒和时区作为参数传递。

用法:


public static ZonedDateTime of(int year, int month, 
                               int dayOfMonth,
                               int hour, int minute,
                               int second, int nanoOfSecond,
                               ZoneId zone)

参数:此方法接受八个不同的参数:

  • year -从MIN_YEAR到MAX_YEAR的年份。
  • month -month-of-year代表从1月1日到12月12日。
  • dayOfMonth -day-of-month代表从1到31。
  • hour -hour-of-day表示从0到23。
  • minute -minute-of-hour表示从0到59。
  • second -second-of-minute表示从0到59。
  • nanoOfSecond -以纳秒为单位表示,从0到999、999、999。
  • zone -时区,不为null。

返回值:此方法返回偏移日期时间。

异常:如果任何字段的值超出范围,或者day-of-month对于month-year无效,则此方法引发DateTimeException。

以下示例程序旨在说明of()方法:
程序1:

// Java program to demonstrate 
// ZonedDateTime.of() method 
  
import java.time.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // create an ZonedDateTime object 
        // using of method 
        ZonedDateTime lt 
            = ZonedDateTime.of( 
                2020, 12, 3, 12, 20, 59, 
                90000, ZoneId.systemDefault()); 
  
        // print result 
        System.out.println("ZonedDateTime:"
                           + lt); 
    } 
}
输出:
ZonedDateTime:2020-12-03T12:20:59.000090Z[Etc/UTC]

of(LocalDate date, LocalTime time, ZoneId zone)

ZonedDateTime类的(Clock clock)方法用于从本地日期,时间和区域返回ZonedDateTime的实例。所有这些localdate,localtime和zone作为参数传递。

用法:

public static ZonedDateTime of(LocalDate date,
                               LocalTime time,
                               ZoneId zone)

参数:此方法接受三个不同的参数:

  • date -当地日期
  • time -当地时间
  • zone -时区

返回值:此方法返回偏移日期时间。

以下示例程序旨在说明of()方法:
程序1:


// Java program to demonstrate 
// ZonedDateTime.of() method 
  
import java.time.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // create a LocalDateTime 
        LocalDate localdate 
            = LocalDate.parse("2020-12-30"); 
  
        // create a LocalTime 
        LocalTime localtime 
            = LocalTime.parse("17:52:49"); 
  
        // create a zoneid 
        ZoneId zid 
            = ZoneId.of("Europe/Paris"); 
  
        // create an ZonedDateTime object 
        // using of() method 
        ZonedDateTime zt 
            = ZonedDateTime.of(localdate, 
                               localtime, zid); 
  
        // print result 
        System.out.println("ZonedDateTime:"
                           + zt); 
    } 
}
输出:
ZonedDateTime:2020-12-30T17:52:49+01:00[Europe/Paris]

of(LocalDateTime localDateTime, ZoneId zone)

ZonedDateTime类的of()方法用于从localdatetime和zone返回ZonedDateTime的实例。所有这些localdatetime和zone作为参数传递。

用法:

public static ZonedDateTime of(LocalDateTime localDateTime,
                               ZoneId zone)

参数:此方法接受两个不同的参数:

  • localDateTime-本地日期时间
  • time -当地时间

返回值:此方法返回偏移日期时间。

以下示例程序旨在说明of()方法:
程序1:

// Java program to demonstrate 
// ZonedDateTime.of() method 
  
import java.time.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // create a LocalDateTime 
        LocalDateTime local 
            = LocalDateTime 
                  .parse("2018-11-03T12:45:30"); 
  
        // create a zoneid 
        ZoneId zid = ZoneId.of("Europe/Paris"); 
  
        // create an ZonedDateTime object 
        // using of() 
        ZonedDateTime zt 
            = ZonedDateTime.of( 
                local, zid); 
  
        // print result 
        System.out.println("ZonedDateTime:"
                           + zt); 
    } 
}
输出:
ZonedDateTime:2018-11-03T12:45:30+01:00[Europe/Paris]

参考文献:
https://docs.oracle.com/javase/10/docs/api/java/time/ZonedDateTime.html#of(int, int, int, int, int, int, int, java.time.ZoneId)
https://docs.oracle.com/javase/10/docs/api/java/time/ZonedDateTime.html#of(java.time.LocalDate、java.time.LocalTime、java.time.ZoneId)
https://docs.oracle.com/javase/10/docs/api/java/time/ZonedDateTime.html#of(java.time.LocalDateTime,java.time.ZoneId)



相关用法

注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 ZonedDateTime of() Method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。