LocalDate 和 LocalDateTime 依赖于 ZonedDateTime
LocalDate and LocalDateTime depend on ZonedDateTime
为什么方法是:
public ZonedDateTime atStartOfDay(ZoneId zone)
来自 class LocalDate
和
public ZonedDateTime atZone(ZoneId zone)
来自 class LocalDateTime
将依赖项添加到 ZonedDateTime?
它们看起来像 ZonedDateTime 中的 "util" 方法,实际上是从 classes(LocalDate 和 LocalDateTime) 应该对时区一无所知。
此外,还有更多 "util" 方法可以添加到那些 classes 到 "help" 带时区。
这是架构方面的最佳方法吗?
虽然我没有设计那些 classes 并且不介意 reader,但这是我的猜测。 java.time 的主要设计目标是流畅 API,以一种感觉自然的方式链接方法调用的可能性。例如你可以做
LocalDate.parse("12/6/2000", DateTimeFormatter.ofPattern("d/M/uuuu"))
.atStartOfDay(ZoneId.of("Asia/Kolkata"))
.toInstant()
.toEpochMilli()
此类方法链接要求从 LocalDate.parse()
返回的 LocalDate
对象接受对 atStartOfDay
的调用。想一想如果您不得不在 ZonedDateTIme
:
中使用静态方法,代码会是什么样子
ZonedDateTime.ofStartOfDay(LocalDate.parse("12/6/2000", DateTimeFormatter.ofPattern("d/M/uuuu")),
ZoneId.of("Asia/Kolkata")))
.toInstant()
.toEpochMilli()
阅读起来非常困难。将该方法放入实用程序 class 中也无济于事,代码仍然非常相似。
我明白你的意思:流利 API 的代价是 LocalDate
依赖于 ZonedDateTime
,这种依赖不能单独在域内 explained/justified .
为什么方法是:
public ZonedDateTime atStartOfDay(ZoneId zone)
来自 class LocalDate
和
public ZonedDateTime atZone(ZoneId zone)
来自 class LocalDateTime
将依赖项添加到 ZonedDateTime?
它们看起来像 ZonedDateTime 中的 "util" 方法,实际上是从 classes(LocalDate 和 LocalDateTime) 应该对时区一无所知。
此外,还有更多 "util" 方法可以添加到那些 classes 到 "help" 带时区。
这是架构方面的最佳方法吗?
虽然我没有设计那些 classes 并且不介意 reader,但这是我的猜测。 java.time 的主要设计目标是流畅 API,以一种感觉自然的方式链接方法调用的可能性。例如你可以做
LocalDate.parse("12/6/2000", DateTimeFormatter.ofPattern("d/M/uuuu"))
.atStartOfDay(ZoneId.of("Asia/Kolkata"))
.toInstant()
.toEpochMilli()
此类方法链接要求从 LocalDate.parse()
返回的 LocalDate
对象接受对 atStartOfDay
的调用。想一想如果您不得不在 ZonedDateTIme
:
ZonedDateTime.ofStartOfDay(LocalDate.parse("12/6/2000", DateTimeFormatter.ofPattern("d/M/uuuu")),
ZoneId.of("Asia/Kolkata")))
.toInstant()
.toEpochMilli()
阅读起来非常困难。将该方法放入实用程序 class 中也无济于事,代码仍然非常相似。
我明白你的意思:流利 API 的代价是 LocalDate
依赖于 ZonedDateTime
,这种依赖不能单独在域内 explained/justified .