有什么方法可以表示与时区关联的日期(无时间)?我无法找到的唯一没有时间的日期表示是LocalDate,我猜它不允许您指定区域。
最佳答案
简短的回答,Java-8中没有这种类型。
至少可以说,日历日期和时区的组合是有问题的。原因是时区旨在按日期和时间运行。由于时区负责在全局时刻/时刻与本地时间戳(包括日期和时间)之间进行转换,因此仅通过日期和时区的组合就无法完成这种转换。
我知道的唯一类似类型是
xs:date
在XML-Schema中明确允许额外的偏移量(小于时区,因为它不存储夏时制规则或历史偏移量)。在我看来,W3C联盟出于对称性原因而不是出于实时任务而引入了这种类型。 JSR-310(将java.time-package引入Java-8中)最初旨在提供称为OffsetDate
的类似类型,另请参见this page。但是,当Java-8完成发布时,它是removed。
当然,您可以自己编写一个简单的类,其中包含两个LocalDate
和ZoneId
类型的状态成员(但是用例是什么?)。对于XML,我宁愿选择LocalDate
和ZonalOffset
。
关于java-8 - Java8划分日期而没有时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32227587/