用于读取的 javdocLocalDate#toDateMidnight
如下:
从 v1.5 开始,建议您避免使用 DateMidnight 并使用 toDateTimeAtStartOfDay() 代替,因为下面详述了异常。
如果默认时区在午夜切换到夏令时并且此 LocalDate 表示该切换日期,则此方法将引发异常。问题是在所需日期没有午夜这样的时间,因此会引发异常。
某些时区不存在午夜这一事实似乎足以避免DateMidnight
完全使用(假设您的代码没有使用已知没有这种 DST 情况的固定时区,并且永远不需要在未来)。
但是,DateMidnight
不推荐使用,并且 javadoc 中没有针对DateMidnight
类本身的类似建议或警告。此外,DateMidnight
构造函数很乐意接受一个即时和时区,使得给定日期不存在午夜,而不是抛出一个IllegalArgumentException
like LocalDate#toDateMidnight
。结果的DateMidnight
行为就像DateTime
一天开始时的时间。
当给定日期不存在午夜时,为什么会LocalDate#toDateMidnight
抛出异常而DateMidnight
构造函数不存在?如果有的话,推荐的用例是DateMidnight
什么?