Java 8中有一整套日期类:
java.time.LocalDateTime
;java.time.ZonedDateTime
;java.time.Instant
;java.time.OffsetDateTime
;java.sql.Timestamp
;java.util.Date
。
我已经阅读了它们的JavaDocs并注意到所有这些类都包含我需要的所有方法。因此,目前可以随机选择它们。但我猜想之所以有6个单独的类,每个类专用于特定的目的,肯定是有原因的。
技术信息和要求:
- 输入为字符串,将其转换为这些日期格式之一。
- 不需要显示时区,但当比较两个日期时,能够正确比较纽约和巴黎的时间很重要。
- 精确度为秒,无需使用毫秒。
- 所需操作:
- 查找最大/最小日期;
- 按日期对对象进行排序;
- 计算日期和时间间隔(两个日期之间的差);
我的问题:
为了从性能和可维护性的角度选择最佳格式,我应该注意哪些方面?
是否有任何原因需要避免使用某些日期类?