java - 2个时区之间的Jodatime时差

标签 java jodatime

我必须使用什么 api 才能在不输入任何日期时间的情况下获取 2 个时区之间的时差。

我现在正在做的是从其中一个时区创建一个临时日期(午夜),然后转换为 utz,然后再次转换为另一个时区,然后计算这两个时区的持续时间。它正在工作,但是否有更简单的 api 仅通过提供区域名称来获取时差?

评论太长,所以我把它放在这里。 服务器处于差异状态。时区,数据/信息来自不同时区的客户端,并以 utc 格式保存在数据库中。当客户请求特定日期的交易历史时,就会出现问题。看来这不是将请求的日期(客户端时区)简单地转换为utc,我需要将服务器时区和客户端时区的时差添加到转换后的utc时间以获得正确的日期。 (所以我像上面说的那样做)。现在我发现应该添加或减去时差,具体取决于谁的时区领先。好吧,无论如何,感谢大家的投入。需要项目尽快运行,所以他们决定在此期间只使用一个时区。实现与否,我将为 future 的项目寻求解决方案。 :)

最佳答案

我不确定我是否正确理解了你的问题。您是否尝试在不使用任何其他 API 的情况下获取不同时区的偏移量?

下面的代码将使用纯 Java 来完成:

String[] ids = TimeZone.getAvailableIDs();
HashMap<String, Integer> map = new HashMap<String, Integer>();
for (String id : ids) {
    TimeZone tz = TimeZone.getTimeZone(id);
    map.put(id, tz.getOffset(new Date().getTime()) / 1000 / 60); //in minutes
}
System.out.println(map.toString());

关于java - 2个时区之间的Jodatime时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25348121/

相关文章:

java - 防止 Hibernate 架构更改

java - 使用 JodaTime 获取一年中每个月的第一天和最后一天的最简单方法

java - 如何使用 JodaTime 解析格式 "HHmm"的持续时间?

java - Tesseract 在线读取图像?

java - 正确地将 JSON 数据发布到 Restful Web 服务 NetBeans

java - 时间和第二期显示 1 :10 instead of 13:10

jodatime - 将字符串验证为日期并转换为 Joda DateTime

java - dayOfMonth 的值 31 必须在 [1,30] 三月范围内

java - 为什么引用同一对象的两个变量在其中一个变量发生变化时不发生变化?

java - 在 Java 中表示和操作概率和百分比的正确方法是什么?