Java中 ZonedDateTime of() 方法及示例
在 ZonedDateTime 类中,根据传递给它的参数,有三种类型的 of() 方法。
of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneId zone)
of() ZonedDateTime类的方法,用于从年、月、日、小时、分钟、秒、纳秒和时区获取 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 – 表示的月份,从 1(一月)到 12(十二月)。
- dayOfMonth – 表示的日期,从 1 到 31。
- hour -- 要表示的时间,从 0 到 23。
- minute – 表示的分钟,从 0 到 59。
- second – 表示的秒数,从 0 到 59。
- nanoOfSecond – 表示从 0 到 999、999、999 的纳秒。
- zone -- 时区,不为空。
返回值:此方法返回偏移日期时间。
异常:如果任何字段的值超出范围,或者月份日期对于月份年份无效,则此方法将引发DateTimeException 。
下面的程序说明了 of() 方法:
方案一:
// 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 日期、LocalTime 时间、ZoneId 区域)
ZonedDateTime类的 of(Clock clock)方法用于从本地日期、时间和区域返回 ZonedDateTime 的实例。所有这些本地日期、本地时间和区域都作为参数传递。
句法:
public static ZonedDateTime of(LocalDate date,
LocalTime time,
ZoneId zone)
参数:此方法接受三个不同的参数:
- 日期 - 当地日期
- 时间——当地时间
- zone – 时区
返回值:此方法返回偏移日期时间。
下面的程序说明了 of() 方法:
方案一:
// 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 区域)
ZonedDateTime类的 of()方法用于从 localdatetime 和 zone 返回 ZonedDateTime 的实例。所有这些 localdatetime 和 zone 作为参数传递。
句法:
public static ZonedDateTime of(LocalDateTime localDateTime,
ZoneId zone)
参数:此方法接受两个不同的参数:
- localDateTime – 本地日期时间
- 时间——当地时间
返回值:此方法返回偏移日期时间。
下面的程序说明了 of() 方法:
方案一:
// 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 Java, 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 Java .time.LocalDateTime, Java Java)