在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]