什么是ZonedDateTime?
ZonedDateTime是ISO-8601日历体系(例:2007-12-03T10:15:30+01:00 Europe/Paris)中具有时区的日期时候的不可变示意。它持有相当于三个自力对象的状况:localdatetime、zoneid和已剖析的zoneoffset。
在这里,ZoneID决议偏移量的变化体式格局和时候。因而,不能自在设置偏移量,由于地区掌握哪些偏移量是有效的。
要猎取特定地区的当前ZonedDateTime,我们将运用:
ZoneId zone = ZoneId.of("Europe/Berlin"); ZonedDateTime zonedDateTime = ZonedDateTime.now(zone);
ZonedDateTime类还供应了将给定日期从一个时区转换为另一个时区的内置要领:
ZonedDateTime destZonedDateTime = sourceZonedDateTime.withZoneSameInstant(destZoneId);
末了,它完整相识DST并处置惩罚夏令时调解。当我们想在特定时区中显现日期时候字段时,它一般很有效。
什么是OffsetDateTime?
OffsetDateTime是日期时候的不可变示意,它与ISO-8601日历体系(如2007-12-03T10:15:30+01:00)中的UTC/Greenwich时候存在偏移。换句话说,它存储一切的日期和时候字段,准确到纳秒,以及与GMT/UTC的偏移量。
让我们从GMT / UTC 取得当前的 OffsetDateTime ,偏离两个小时:
ZoneOffset zoneOffSet= ZoneOffset.of("+02:00"); OffsetDateTime offsetDateTime = OffsetDateTime.now(zoneOffSet);
ZonedDateTime和OffsetDateTime之间的区分
ZonedDateTime:
● 存储一切日期和时候字段,精度为纳秒,时区,地区偏移用于处置惩罚隐约的当地日期时候
● 没法自在设置偏移,由于地区掌握有效的偏移值
● 完整支撑DST并处置惩罚夏令时调解
● 在用户特定的时区显现日期时候字段异常轻易
OffsetDateTime:
● 存储一切日期和时候字段,精度为纳秒,以及与GMT / UTC的偏移量(无时区信息)
● 应当用于在数据库中存储日期或经由过程收集举行通讯
以上就是本篇文章的全部内容,愿望能对人人的进修有所协助。更多精彩内容人人能够关注ki4网相干教程栏目!!!
以上就是ZonedDateTime和OffsetDateTime之间的区分是什么的细致内容,更多请关注ki4网别的相干文章!