到目前为止,我们一直使用joda-time class DateTime
来表示UTC
时区的日期时间数据,这很符合我们的要求。
示例:2014-11-07T14:10:00Z
现在,我们要求代表" date"数据(以UTC时区为准)。
示例:2014-11-07
存在LocalDate
joda-time类,以及通过DateTime
从DateTime.toLocalDate()
转换的方法。
我找了一个我认为会存在的joda-time课程DateUTC
- 但它似乎并不存在!
有人可以指出我正确的方向,或者实际上指定什么是代表" date-UTC"的最佳joda-time类。数据(没有时间戳)?
P.S。我们还没准备好转向java 8,因为我们有很多使用joda-time库的代码
答案 0 :(得分:1)
如果您的DateTime
对象是UTC格式,如果您不关心时间,则将其转换为LocalDate
即可。如果它还不是UTC,您可以使用DateTime.withZone(DateTimeZone.UTC).toLocalDate()
LocalDate
仅代表日期组件,没有时区信息。因此,只要您保持一致,您的代码就可以使用它并假设它是UTC。对于字符串表示,您可以使用LocalDate.toString()
。
但是,如果您只想格式化现有的DateTime
对象,以便字符串表示只显示日期组件,那么您不需要使用LocalDate
。只需将其格式化为仅显示日期:DateTime.toString("yyyy-MM-dd")
。