【发布时间】:2011-11-24 12:26:03
【问题描述】:
根据时区(使用 joda 时间)将 UTC 时间(以毫秒为单位)呈现为格式化时间的最佳方法是什么?
示例:
如果我有currrentTimeInGMT = 1322137038601。
如何将此时间转换为 'yyyy/MM/dd hh:mm:ss' 格式,日期时间因时区而异?
【问题讨论】:
-
为什么要为此使用 Joda 而不是标准 API?
-
如果您要做的不是最琐碎的日期/时间工作,您应该使用 Joda Time - 这是标准 JDK API 之后的新鲜空气,在 JDK 中排名最差.
-
Joda 可能是一股清新的空气,但也缺少一些相当琐碎的功能,并且恕我直言(至少部分地)有一个相当不直观的 API。然而,这不是我的问题。我问 Emil 为什么他想使用 Joda 来完成这个任务:格式化带有条件时区的时间戳。
-
@jarnbjo:我目前正在为此使用标准 api。我只是想进行基准测试,看看 Joda time 是否提供了更好的性能。对于当前的实现,你可以参考这个link。如果你可以给出一个更好的实现,我想看看。
-
您链接到的实现不是很聪明。响应中已经提到您不应该操纵 Date 或 Timestamp 实例来应用时区信息,因为这些类不知道时区。