當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。