【问题标题】:Getting timezone offset with Joda Time使用 Joda Time 获取时区偏移
【发布时间】:2011-01-11 14:51:27
【问题描述】:

我在这个任务上陷入了绝望。我从用户那里得到非 UTC 未来日期输入 > 我需要将其保留为 UTC 时间。我尝试了各种方法,但总是这样结束:(方法名称无关紧要)

请有人给我正确的方向吗?

【问题讨论】:

    标签: java timezone jodatime


    【解决方案1】:

    看起来您已经在第一行做对了。稍作修改:

    DateTime instant = getDeadLine(orderBean, localTz);
    

    DateTime.getMillis() 将为您提供自 UTC 纪元以来的毫秒数...所以这就是您需要坚持的时间。如果您需要能够转换回本地时间,您当然需要知道要转换回哪个时区 - 每次都使用相同的时区,或者将其与 UTC 毫秒一起存储。

    需要注意的一点是,本地日期/时间并不总是明确的 - 由于夏令时转换,相同的本地日期/时间可能会出现两次。您需要考虑这是否与您相关。

    【讨论】:

    • 所以我需要做的就是坚持:new Date(new DateTime(Year,Month,Day,Hour,Minute, 0, 0, DateTimeZone.forID("Canada/Pacific")) .getMillis()) ?
    • 并在向他显示日期时提供有关用户时区的信息
    • @lisak:老实说,我不会创建Date - 只需坚持几毫秒。那么出错的可能性就更少了。但除此之外,是的。
    猜你喜欢
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 2013-04-04
    相关资源
    最近更新 更多