我很惊讶 java.sql.Date
有一个方法 toLocalDate()
。
java.util.Date
或 java.time.Instant
没有可比较的方法。似乎在 java.time
中,必须始终提供 ZoneId
才能获取“LocalFoo”或“OffsetBar”。
来自 java.sql.Date#toLocalDate()
的 javadoc:
Converts this Date object to a LocalDate. The conversion creates a LocalDate that represents the same date value as this Date in local time zone
哪个时区是“本地时区”?它取决于数据库或 JVM 设置吗?
最佳答案
从概念上讲,java.sql.Date
与 LocalDate
相同,即。没有时间或时区的日期。实际上,因为 java.sql.Date
是基于 long
毫秒实现的,所以它隐含地使用了系统时区。因此,存在 toLocalDate()
方法是因为 Java SQL 规范要求您将 java.sql.Date
视为没有时区。
关于java - 哪个时区是 java.sql.Date toLocalDate 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37725264/