【发布时间】:2021-10-26 21:36:09
【问题描述】:
我正在使用 Kotlin 开发一个 Android 项目,我们需要对来自设备和后端的日期执行验证。到目前为止,我们一直在使用 Date 类来表示日期,使用 SimpleDateFormat 类来解析字符串和格式化日期,使用 Calendar 类来对日期执行操作,例如从 x 天前获取日期等等。我遇到了一些资源,指出使用日期的正确方法是使用 java.time 包(诸如 LocalDateTime、LocalTime 等类)。我有兴趣确切知道使用日期的正确方法(从解析到格式化)以及是否需要考虑时区。我见过类似的问题,但没有一个能真正概括我想知道的内容。
【问题讨论】:
-
使用过时的类
Date、SimpleDateFormat和Calendar并不是完全错误的。对于你自己和那些不得不在你之后维护你的代码的人来说,这“只是”一堆不必要的麻烦。是的,我完全同意那些推荐 java.time,现代 Java 日期和时间 API 的人。使用起来非常好用,而且在许多情况下提供的代码更易于阅读和理解。 -
有 两个
Date类:java.sql.Date&java.util.Date。你永远不应该使用它们中的任何一个。两者都被 JSR 310 中定义的 java.time 类所取代:分别为LocalDate和Instant。
标签: java android date kotlin java-time