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


Java java.time.ZonedDateTime用法及代码示例


ZonedDateTime 是一个不可变对象,表示日期时间和时区。此类存储所有日期和时间字段。此类存储精确到纳秒的时间和时区,并使用区域 Offset 来处理本地日期时间。例如,值“亚洲/加尔各答时区 2011 年 10 月 2 日 14:45.30.123456789 +05:30”可以存储在 ZonedDateTime 中。该类还用于将 LocalDateTime 的本地时间线转换为Instant的即时时间线。

类别声明:

public final class ZonedDateTime
extends Object
implements Temporal, ChronoZonedDateTime<LocalDate>, Serializable

方法:

方法

说明

ZonedDateTime equals()

此方法检查此日期时间是否等于另一个日期时间。

ZonedDateTime format()

此方法使用指定的格式化程序格式化该日期时间。

ZonedDateTime form()

此方法从时间对象获取 ZonedDateTime 的实例。

ZonedDateTime get()

此方法从该日期时间获取指定字段的 int 值。

ZonedDateTime getDayOfMonth()

此方法获取day-of-month字段。

ZonedDateTime getDayOfWeek()

此方法获取 day-of-week 字段,它是一个枚举 DayOfWeek。

ZonedDateTime getDayOfYear()

此方法获取day-of-year字段。

ZonedDateTime getHour()

此方法获取hour-of-day字段。

ZonedDateTime getLong()

此方法从该日期时间获取指定字段的长整型值。

ZonedDateTime getMinute()

此方法获取minute-of-hour字段。

ZonedDateTime getMonth()

此方法使用 Month 枚举获取 month-of-year 字段。

ZonedDateTime getMonthValue()

此方法获取从 1 到 12 的 month-of-year 字段。

ZonedDateTime getNano()

该方法获得纳秒级场。

getOffset()

该方法获取区域偏移量,例如“+01:00”。

ZonedDateTime getSecond()

此方法获取second-of-minute字段。

ZonedDateTime getYear()

此方法获取年份字段。

ZonedDateTime getZone()

此方法获取时区,例如“欧洲/巴黎”。

ZonedDateTime hashCode()

该日期时间的哈希码。

ZonedDateTime isSupported()

该方法检查指定字段是否受支持。

ZonedDateTime isSupported()

此方法检查是否支持指定的单位。

ZonedDateTime minus()

此方法返回此日期时间的副本,并减去指定的数量。

ZonedDateTime minus()

此方法返回此日期时间的副本,并减去指定的数量。

ZonedDateTime minusDays()

此方法返回此 ZonedDateTime 的副本,并减去指定的天数。

ZonedDateTime minusHours()

此方法返回此 ZonedDateTime 的副本,并减去指定的小时数。

ZonedDateTime minusMinutes()

此方法返回此 ZonedDateTime 的副本,并减去指定的分钟数。

ZonedDateTime minusMonths()

此方法返回此 ZonedDateTime 的副本,并减去指定的月数。

ZonedDateTime minusNanos()

此方法返回此 ZonedDateTime 的副本,并减去指定的纳秒数。

ZonedDateTime minusSeconds()

此方法返回此 ZonedDateTime 的副本,并减去指定的秒数。

ZonedDateTime minusWeeks()

此方法返回此 ZonedDateTime 的副本,并减去指定的周数。

ZonedDateTime minusYears()

此方法返回此 ZonedDateTime 的副本,并减去指定的年数。

ZonedDateTime now()

此方法从默认时区的系统时钟获取当前日期时间。

ZonedDateTime now()

此方法从指定时钟获取当前日期时间。

ZonedDateTime now()

该方法从指定时区的系统时钟获取当前日期时间。

ZonedDateTime of()

该方法从年、月、日、时、分、秒、纳秒和时区获取ZonedDateTime的实例。

ZonedDateTime of()

此方法从本地日期和时间获取 ZonedDateTime 的实例。

ZonedDateTime of()

此方法从本地日期时间获取 ZonedDateTime 的实例。

ZonedDateTime ofInstant()

此方法从 Instant 获取 ZonedDateTime 的实例。

ZonedDateTime ofInstant()

此方法从组合本地日期时间和偏移量形成的瞬间获取 ZonedDateTime 的实例。

ZonedDateTime ofLocal()

如果可能,此方法使用首选偏移量从本地日期时间获取 ZonedDateTime 的实例。

ZonedDateTime ofStrict()

此方法获取 ZonedDateTime 的实例,严格验证本地日期时间、偏移量和区域 ID 的组合。

ZonedDateTime parse()

此方法从文本字符串(例如 2007-12-03T10:15:30+01:00[Europe/Paris])获取 ZonedDateTime 的实例

ZonedDateTime parse()

此方法使用特定格式化程序从文本字符串中获取 ZonedDateTime 的实例。

ZonedDateTime plus()

此方法返回此日期时间的副本,并添加指定的数量。

ZonedDateTime plus()

此方法返回此日期时间的副本,并添加指定的数量。

ZonedDateTime plusDays()

此方法返回添加了指定天数的 ZonedDateTime 的副本。

ZonedDateTime plusHours()

此方法返回添加了指定小时数的 ZonedDateTime 的副本。

ZonedDateTime plusMinutes()

此方法返回此 ZonedDateTime 的副本,并添加了指定的分钟数。

ZonedDateTime plusMonths()

此方法返回此 ZonedDateTime 的副本,并添加了指定的月份数。

ZonedDateTime plusNanos()

此方法返回此 ZonedDateTime 的副本,并添加了指定的纳秒数。

ZonedDateTime plusSeconds()

此方法返回此 ZonedDateTime 的副本,并添加指定的秒数。

ZonedDateTime plusWeeks()

此方法返回此 ZonedDateTime 的副本,并添加了指定的周数。

ZonedDateTime plusYears()

此方法返回添加了指定年数的 ZonedDateTime 的副本。

ZonedDateTime query()

此方法使用指定的查询来查询此日期时间。

ZonedDateTime range()

此方法获取指定字段的有效值范围。

ZonedDateTime toLocalDate()

此方法获取此日期时间的 LocalDate 部分。

ZonedDateTime toLocalDateTime()

此方法获取此日期时间的 LocalDateTime 部分。

ZonedDateTime toLocalTime()

此方法获取此日期时间的 LocalTime 部分。

ZonedDateTime toOffsetDateTime()

此方法将此日期时间转换为 OffsetDateTime。

ZonedDateTime toString()

此方法将此日期时间输出为字符串,例如 2007-12-03T10:15:30+01:00[Europe/Paris]。

ZonedDateTime truncatedTo()

此方法返回此 ZonedDateTime 的副本,其中时间被截断。

ZonedDateTime until()

此方法以指定单位计算距另一个日期时间的时间量。

ZonedDateTime with()

此方法返回此日期时间的调整后的副本。

ZonedDateTime with()

此方法返回此日期时间的副本,并将指定字段设置为新值。

ZonedDateTime withDayOfMonth()

此方法返回 ZonedDateTime 的副本,其中 day-of-month 已更改。

ZonedDateTime withDayOfYear()

此方法返回 ZonedDateTime 的副本,其中 day-of-year 已更改。

ZonedDateTime withEarlierOffsetAtOverlap()

此方法返回此日期时间的副本,将区域偏移量更改为本地时间线重叠处的两个有效偏移量中较早的一个。

ZonedDateTime withFixedOffsetZone()

此方法返回此日期时间的副本,并将区域 ID 设置为偏移量。

ZonedDateTime withHour()

此方法返回 ZonedDateTime 的副本,其中 hour-of-day 已更改。

ZonedDateTime withLaterOffsetAtOverlap()

此方法返回此日期时间的副本,将区域偏移量更改为本地时间线重叠处的两个有效偏移量中较晚的一个。

ZonedDateTime withMinute()

此方法返回 ZonedDateTime 的副本,其中 minute-of-hour 已更改。

ZonedDateTime withMonth()

此方法返回 ZonedDateTime 的副本,其中 month-of-year 已更改。

ZonedDateTime withNano()

此方法返回此 ZonedDateTime 的副本,其中纳秒发生了变化。

ZonedDateTime withSecond()

此方法返回 ZonedDateTime 的副本,其中 second-of-minute 已更改。

ZonedDateTime withYear()

此方法返回 ZonedDateTime 的副本,其中年份已更改。

ZonedDateTime withZoneSameInstant()

此方法返回具有不同时区的该日期时间的副本,保留即时。

ZonedDateTime withZoneSameLocal()

此方法返回具有不同时区的该日期时间的副本,如果可能,保留本地日期时间。

parse()方法的实现:

Java


// java program to create a new
// ZonedDateTime using parse() method
import java.time.ZonedDateTime;
public class GFG {
    public static void main(String[] args)
    {
        String text
            = "2011-10-02T14:45:30.123456789+05:30[Asia/Kolkata]";
        // creating a new ZonedDateTime object
        ZonedDateTime zone = ZonedDateTime.parse(text);
        System.out.println(zone);
    }
}
输出
2011-10-02T14:45:30.123456789+05:30[Asia/Kolkata]

getZone()方法的实现:

Java


// java program to illustrate working of getZone() method
import java.time.ZonedDateTime;
public class GFG {
    public static void main(String[] args)
    {
        String text
            = "2011-10-02T14:45:30.123456789+05:30[Asia/Kolkata]";
        // Creating a new ZonedDateTime object
        ZonedDateTime zone = ZonedDateTime.parse(text);
        // printing the zone of this zonedDateTime object
        System.out.println(zone.getZone());
    }
}
输出
Asia/Kolkata

plus()和minus()方法的实现:

Java


// java program to illustrate working
// of plus() and minus() method
import java.time.Period;
import java.time.ZonedDateTime;
public class GFG {
    public static void main(String[] args)
    {
        String text
            = "2011-10-02T14:45:30.123456789+05:30[Asia/Kolkata]";
        // Creating a new ZonedDateTime object
        ZonedDateTime zone = ZonedDateTime.parse(text);
        // printing original value of
        // this ZonedDateTime object
        System.out.println(zone);
        // printing value of this ZonedDateTime
        // object after subtracting two months
        System.out.println(zone.minus(Period.ofMonths(2)));
        // printing value of this ZonedDateTime
        // object after adding two months
        System.out.println(zone.plus(Period.ofMonths(2)));
    }
}
输出
2011-10-02T14:45:30.123456789+05:30[Asia/Kolkata]
2011-08-02T14:45:30.123456789+05:30[Asia/Kolkata]
2011-12-02T14:45:30.123456789+05:30[Asia/Kolkata]

of()方法的实现:

Java


// Java program to illustrate working of of() method
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class GFG {
    public static void main(String[] args)
    {
        // getting current date
        LocalDate date = LocalDate.now();
        // getting current time
        LocalTime time = LocalTime.now();
        // getting system default zone id
        ZoneId zoneId = ZoneId.systemDefault();
        // creating a new ZonedDateTime object
        ZonedDateTime zonedatetime
            = ZonedDateTime.of(date, time, zoneId);
        System.out.println(zonedatetime);
    }
}
输出
2021-03-20T17:09:56.241560Z[Etc/UTC]


相关用法


注:本文由纯净天空筛选整理自abhinavjain194大神的英文原创作品 java.time.ZonedDateTime Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。