将 EDT 时区转换为 GMT 在 java 中无法正常工作

2024-01-08

我正在使用这段代码来解析这个日期。它必须将新日期显示为“2012-06-20 03:09:38”因为 EDT 是 -4GMT,而我当前的位置是 GMT+5。但它没有显示它现在显示的是这样的

private static void convertEDT_TO_GMT() {
    try {
        String s = "2012-06-20 18:09:38";
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        df.setTimeZone(TimeZone.getTimeZone("EDT"));
        Date timestamp = null;

        timestamp = df.parse(s);
        df.setTimeZone(TimeZone.getTimeZone("GMT+05:00"));
        System.out.println("Old = " + s);
        String parsed = df.format(timestamp);
        System.out.println("New = " + parsed);

    } catch (Exception e) {
        e.printStackTrace();
    }
    }

It show

旧 = 2012-06-20 18:09:38

新=2012-06-20 23:09:38


时区“EDT”不存在。做一个System.out.println()`TimeZone.getTimeZone("EDT") 显示它正在回退到 GMT,因为 Java 不知道“EDT”是时区。

更改自"EDT" to "GMT-04:00"给出正确的结果:

try {
    String s = "2012-06-20 18:09:38";
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    //df.setTimeZone(TimeZone.getTimeZone("EDT"));
    df.setTimeZone(TimeZone.getTimeZone("GMT-04:00"));
    Date timestamp = null;

    timestamp = df.parse(s);
    df.setTimeZone(TimeZone.getTimeZone("GMT+05:00"));
    System.out.println("Old = " + s);
    String parsed = df.format(timestamp);
    System.out.println("New = " + parsed);

    } catch (Exception e) {
    e.printStackTrace();
}

Result:

Old = 2012-06-20 18:09:38
New = 2012-06-21 03:09:38

根据这个帖子 https://stackoverflow.com/questions/964894/how-to-convert-time-between-timezones-utc-to-edt:

东部夏令时间并不是“完整”时区的名称 - 它实际上是“半”时区,总是比 UTC 晚 4 小时。

所以使用"GMT-04:00"可能是正确的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 EDT 时区转换为 GMT 在 java 中无法正常工作 的相关文章

随机推荐

  • 使用 pytest --collect-only 仅返回单个测试名称

    我正在尝试弄清楚如何使用 pytest 从测试文件中获取测试名称列表 到目前为止我已经做到了 pytest collect only my test file py test session starts platform darwin P
  • 将两字节位掩码转换为 EnumSet

    我正在读取一个二进制文件 该文件的值存储在位掩码中 均为 1 字节位掩码和 2 字节位掩码 掩码中的每一位都充当一个开关 指示事件发生的位置 1 字节掩码示例 00000101 表示事件一和事件 3已经发生了 的例子Enum public
  • 确定该函数内的函数名称

    如何获取该非匿名函数中的函数名称 下面我假设有一个函数或进程可以执行此操作 称为magical r function 以及预期的产出是什么 my fun lt function magical r function my fun 1 my
  • JPA/EclipseLink 未返回结果

    我是 Java 和 JPA 新手 我正在尝试连接到数据库并从表中返回一些结果 但是当我运行查询时 即使该表有超过 100 000 行 我也会得到一个空列表 这是我的 persistence xml
  • 什么是 Java 混合 - Applet + 应用程序?

    我怎样才能写一个呢 从评论到我的reply https stackoverflow com a 12447764 166390 接下来是 我们过去拥有的东西 小程序和应用程序 现在已经不可用了 并反驳 垃圾 它 Applet 和应用程序 被
  • 自定义属性在编译时执行

    我正在尝试创建一个自定义属性 该属性将以某种 AOP 方式工作 不幸的是 我无法访问 postsharp 而且我对 Unity 也不是很熟悉 它有 AttributeUsage Method 并在其构造函数中配置测试环境的某些部分 从 ap
  • 将参数从脚本传递给 gulp 任务

    I have package json具有以下结构的脚本 scripts watch build tsc watch watch server nodemon src app js watch app build tsc gulp do s
  • 列出 mysql 中同一个表的结果

    我如何列出此表中性别 男性且int 女性的iduser Table usermeta id iduser a b 12 204 age 19 7 203 age 35 6 200 age 24 3 201 age 34 5 201 gend
  • Delphi Soap https认证失败弹出对话框

    我们有一个使用 SOAP THTTPRIO 等 通信的 delphi XE 应用程序 默认情况下 该应用程序 在 delphi 中 通过 WinInet dll 工作 我们修复了身份验证代码 使其可以使用 https 身份验证 并且当 ht
  • 在表内搜索记录类型

    我有以下类型 CREATE OR REPLACE TYPE CLONE PRODUCT CHAR RECORD IS OBJECT CharacteristicID NUMBER NewValue VARCHAR2 200 Char New
  • 如何回滚分布式事务?

    我有三个不同的 Spring boot 项目 它们具有独立的数据库 例如 account rest payment rest gateway rest account rest 创建一个新帐户 payment rest 创建一个新的付款 g
  • 使用 gettext 对我有何帮助?

    我正在尝试建立一种方法来允许成员将字符串翻译成其他语言 您可以在此处查看示例 翻译测试 http acs graphicsmayhem com test3 index php 有人建议我为此使用 php 的本机 gettext 函数 而不是
  • 我如何知道我的字符串包含变音符号?

    例如 text eskoslovensk obchodn banka text string contains diacritics like etc 我想编写一个函数 在其中传递此字符串 eskoslovensk obchodn bank
  • 在 F# 中对平面序列进行惰性分组

    给定一个项目序列如下 a 1 a 2 a 3 b 1 c 2 c 3 我怎样才能将其懒惰地转换为 a 1 2 3 b 1 c 2 3 您可以假设输入数据源已按分组键元素排序 例如 a b 和 c 我在那里使用 来指示它是一个延迟评估的项目序
  • 添加到 pom 时类路径为空

    我正在使用这个简单的pom xml使用以下命令生成 OSGi 包maven bundle plugin
  • 如何使用索引获取linkedhashmap值?

    我是java新手 我制作了一个链接的哈希图 例如 Map
  • Typescript“专门”重载

    是否可以在不引入与实现完全匹配的签名的情况下定义这种专门的重载 on eventName string cb Function on eventName view cb args foo gt void on eventName strin
  • 如何使用 pefile 从 PE 文件中获取 .text 部分

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我怎样才能得到内容 textPE 中的部分 或任何其他部分 使用pefile module sectionsPE类实例的attr是节列表
  • 自由格式文本的通用地址解析器

    我们有一个显示地图数据的程序 想想谷歌地图 但为我们的客户提供更多的交互性和自定义图层 我们允许通过一组组合框进行导航 这些组合框预先填充了一堆数据的某些字段 即 国家 加拿大 填写了省份字段 选择安大略省 然后填写了县 地区列表 选择一个
  • 将 EDT 时区转换为 GMT 在 java 中无法正常工作

    我正在使用这段代码来解析这个日期 它必须将新日期显示为 2012 06 20 03 09 38 因为 EDT 是 4GMT 而我当前的位置是 GMT 5 但它没有显示它现在显示的是这样的 private static void conver