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 的實例。 |
|
此方法從該日期時間獲取指定字段的 int 值。 |
|
此方法獲取day-of-month字段。 |
|
此方法獲取 day-of-week 字段,它是一個枚舉 DayOfWeek。 |
|
此方法獲取day-of-year字段。 |
|
此方法獲取hour-of-day字段。 |
|
此方法從該日期時間獲取指定字段的長整型值。 |
|
此方法獲取minute-of-hour字段。 |
|
此方法使用 Month 枚舉獲取 month-of-year 字段。 |
|
此方法獲取從 1 到 12 的 month-of-year 字段。 |
|
該方法獲得納秒級場。 |
|
getOffset() |
該方法獲取區域偏移量,例如“+01:00”。 |
此方法獲取second-of-minute字段。 |
|
此方法獲取年份字段。 |
|
此方法獲取時區,例如“歐洲/巴黎”。 |
|
該日期時間的哈希碼。 |
|
該方法檢查指定字段是否受支持。 |
|
此方法檢查是否支持指定的單位。 |
|
此方法返回此日期時間的副本,並減去指定的數量。 |
|
此方法返回此日期時間的副本,並減去指定的數量。 |
|
此方法返回此 ZonedDateTime 的副本,並減去指定的天數。 |
|
此方法返回此 ZonedDateTime 的副本,並減去指定的小時數。 |
|
此方法返回此 ZonedDateTime 的副本,並減去指定的分鍾數。 |
|
此方法返回此 ZonedDateTime 的副本,並減去指定的月數。 |
|
此方法返回此 ZonedDateTime 的副本,並減去指定的納秒數。 |
|
此方法返回此 ZonedDateTime 的副本,並減去指定的秒數。 |
|
此方法返回此 ZonedDateTime 的副本,並減去指定的周數。 |
|
此方法返回此 ZonedDateTime 的副本,並減去指定的年數。 |
|
此方法從默認時區的係統時鍾獲取當前日期時間。 |
|
此方法從指定時鍾獲取當前日期時間。 |
|
該方法從指定時區的係統時鍾獲取當前日期時間。 |
|
該方法從年、月、日、時、分、秒、納秒和時區獲取ZonedDateTime的實例。 |
|
此方法從本地日期和時間獲取 ZonedDateTime 的實例。 |
|
此方法從本地日期時間獲取 ZonedDateTime 的實例。 |
|
此方法從 Instant 獲取 ZonedDateTime 的實例。 |
|
此方法從組合本地日期時間和偏移量形成的瞬間獲取 ZonedDateTime 的實例。 |
|
如果可能,此方法使用首選偏移量從本地日期時間獲取 ZonedDateTime 的實例。 |
|
此方法獲取 ZonedDateTime 的實例,嚴格驗證本地日期時間、偏移量和區域 ID 的組合。 |
|
此方法從文本字符串(例如 2007-12-03T10:15:30+01:00[Europe/Paris])獲取 ZonedDateTime 的實例 |
|
此方法使用特定格式化程序從文本字符串中獲取 ZonedDateTime 的實例。 |
|
此方法返回此日期時間的副本,並添加指定的數量。 |
|
此方法返回此日期時間的副本,並添加指定的數量。 |
|
此方法返回添加了指定天數的 ZonedDateTime 的副本。 |
|
此方法返回添加了指定小時數的 ZonedDateTime 的副本。 |
|
此方法返回此 ZonedDateTime 的副本,並添加了指定的分鍾數。 |
|
此方法返回此 ZonedDateTime 的副本,並添加了指定的月份數。 |
|
此方法返回此 ZonedDateTime 的副本,並添加了指定的納秒數。 |
|
此方法返回此 ZonedDateTime 的副本,並添加指定的秒數。 |
|
此方法返回此 ZonedDateTime 的副本,並添加了指定的周數。 |
|
此方法返回添加了指定年數的 ZonedDateTime 的副本。 |
|
此方法使用指定的查詢來查詢此日期時間。 |
|
此方法獲取指定字段的有效值範圍。 |
|
此方法獲取此日期時間的 LocalDate 部分。 |
|
此方法獲取此日期時間的 LocalDateTime 部分。 |
|
此方法獲取此日期時間的 LocalTime 部分。 |
|
此方法將此日期時間轉換為 OffsetDateTime。 |
|
此方法將此日期時間輸出為字符串,例如 2007-12-03T10:15:30+01:00[Europe/Paris]。 |
|
此方法返回此 ZonedDateTime 的副本,其中時間被截斷。 |
|
此方法以指定單位計算距另一個日期時間的時間量。 |
|
此方法返回此日期時間的調整後的副本。 |
|
此方法返回此日期時間的副本,並將指定字段設置為新值。 |
|
此方法返回 ZonedDateTime 的副本,其中 day-of-month 已更改。 |
|
此方法返回 ZonedDateTime 的副本,其中 day-of-year 已更改。 |
|
此方法返回此日期時間的副本,將區域偏移量更改為本地時間線重疊處的兩個有效偏移量中較早的一個。 |
|
此方法返回此日期時間的副本,並將區域 ID 設置為偏移量。 |
|
此方法返回 ZonedDateTime 的副本,其中 hour-of-day 已更改。 |
|
此方法返回此日期時間的副本,將區域偏移量更改為本地時間線重疊處的兩個有效偏移量中較晚的一個。 |
|
此方法返回 ZonedDateTime 的副本,其中 minute-of-hour 已更改。 |
|
此方法返回 ZonedDateTime 的副本,其中 month-of-year 已更改。 |
|
此方法返回此 ZonedDateTime 的副本,其中納秒發生了變化。 |
|
此方法返回 ZonedDateTime 的副本,其中 second-of-minute 已更改。 |
|
此方法返回 ZonedDateTime 的副本,其中年份已更改。 |
|
此方法返回具有不同時區的該日期時間的副本,保留即時。 |
|
此方法返回具有不同時區的該日期時間的副本,如果可能,保留本地日期時間。 |
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]
相關用法
- Java java.time.ZonedDateTime.equals()用法及代碼示例
- Java java.time.ZonedDateTime.format()用法及代碼示例
- Java java.time.ZonedDateTime.from()用法及代碼示例
- Java java.time.ZonedDateTime.get()用法及代碼示例
- Java java.time.ZonedDateTime.getDayOfMonth()用法及代碼示例
- Java java.time.ZonedDateTime.getDayOfWeek()用法及代碼示例
- Java java.time.ZonedDateTime.getDayOfYear()用法及代碼示例
- Java java.time.ZonedDateTime.getHour()用法及代碼示例
- Java java.time.ZonedDateTime.getLong()用法及代碼示例
- Java java.time.ZonedDateTime.getMinute()用法及代碼示例
- Java java.time.ZonedDateTime.getMonth()用法及代碼示例
- Java java.time.ZonedDateTime.getMonthValue()用法及代碼示例
- Java java.time.ZonedDateTime.getNano()用法及代碼示例
- Java java.time.ZonedDateTime.getOffset()用法及代碼示例
- Java java.time.ZonedDateTime.getSecond()用法及代碼示例
- Java java.time.ZonedDateTime.getYear()用法及代碼示例
- Java java.time.ZonedDateTime.getZone()用法及代碼示例
- Java java.time.ZonedDateTime.hashCode()用法及代碼示例
- Java java.time.ZonedDateTime.isSupported()用法及代碼示例
- Java java.time.ZonedDateTime.minus()用法及代碼示例
- Java java.time.ZonedDateTime.minusDays()用法及代碼示例
- Java java.time.ZonedDateTime.minusHours()用法及代碼示例
- Java java.time.ZonedDateTime.minusMinutes()用法及代碼示例
- Java java.time.ZonedDateTime.minusMonths()用法及代碼示例
- Java java.time.ZonedDateTime.minusNanos()用法及代碼示例
注:本文由純淨天空篩選整理自abhinavjain194大神的英文原創作品 java.time.ZonedDateTime Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。