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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。