将 UTC 日期转换为其他时区

2023-12-27

我正在使用以下方法将 UTC 时间转换为另一个时区:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date parsed = format.parse("2011-03-01 15:10:37");
TimeZone tz = TimeZone.getTimeZone("America/Chicago");
format.setTimeZone(tz);

String result = format.format(parsed);

所以输入是2011-03-01 15:10:37但这个的输出(结果值)是2011-03-01 05:40:37。虽然它看起来关闭了,并且根据这个链接 http://www.timezoneconverter.com/cgi-bin/tzc.tzc, 它应该是2011-03-01 09:10:37.

我究竟做错了什么?


事实证明代码几乎是正确的,我没有考虑到在解析时String得到一个Date对象最初,它使用默认系统TimeZone,所以源日期不是我预期的 UTC 时间。

技巧是在将日期解析为 UTC 时设置时区,然后将其设置为目的地TimeZone。像这样的事情:

SimpleDateFormat sourceFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sourceFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date parsed = sourceFormat.parse("2011-03-01 15:10:37"); // => Date is in UTC now

TimeZone tz = TimeZone.getTimeZone("America/Chicago");
SimpleDateFormat destFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
destFormat.setTimeZone(tz);

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

将 UTC 日期转换为其他时区 的相关文章

随机推荐

  • 通过指向错误函数类型的指针调用函数(未知)

    我有一个动态链接到库的程序 该程序将函数指针传递给该库以执行 但 ubsan 未定义行为清理程序 指定该指针位于不正确的函数类型上 而这种情况只会发生 如果回调函数有一个类作为参数 如果回调函数有一个类作为参数 但仅向前声明 如果我指定编译
  • 在 jQuery UI 可调整大小组件中嵌入 Ace 编辑器

    我正在尝试通过将 ace 编辑器嵌入到可调整大小的组件中来调整其大小 我一直在尝试使用 jQuery UI 可调整大小组件 但无法让 ace 编辑器出现在可调整大小组件内 Code
  • Intellij:不是有效的项目 ID:

    I updated Intellij Idea to 2018 2 6 现在我无法使用 Play Configuration 启动我的 Play Project 它给了我这个 error Not a valid project ID myP
  • Jackson 没有序列化字段

    我有以下课程 public class Entity private String id private String name private List
  • 如何在 Windows 工作站/服务器上将 Git 设置为 Web 项目 (ASP) 的 VCS?

    我们团队中有 5 个人从事一些 ASP 项目 局域网中有一台本地服务器运行Windows Server 我们不经常使用它 只是将其作为备份存储 我们还有一台运行 Windows Server 的远程服务器 我们在那里发布最终产品并使用远程桌
  • JavaScript .CSV 到数组

    我有一个 CSV 文件 它有 4 列和数千行 我想要 4 个数组 每一列一个 我最近开始学习 JavaScript 有人可以告诉我该怎么做吗 在 Python 中 这非常简单 只需几行代码 然而 当我看到JS中的相关帖子后 我感到非常困惑
  • 我如何在 JPQL 中内部加入子查询

    我需要一个用于 MySQL 查询的 JPQL SELECT FROM table1 t1 INNER JOIN table2 t2 ON t1 id t2 table1 id INNER JOIN SELECT FROM table1 t3
  • 在android聊天气泡中插入imageview可调

    我想在我的 Android 聊天中执行此操作 但我无法让我的照片适合我的泡泡 我有一个LinearLayout 他的背景是一个气泡9patch 在其中 我有一个图像视图 在此处插入图像但不是如何使其适合我们在屏幕上看到的背景 这就是我的形象
  • 我应该用通用类定义为我的文件命名什么?

    我正在编写几个具有泛型类型参数的类 但我需要重载这些类 因为在不同的场景中我需要不同数量的参数 基本上 我有 public class MyGenericClass
  • 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

    我正在使用Scanner方法nextInt and nextLine 用于读取输入 它看起来像这样 System out println Enter numerical value int option option input nextI
  • 未找到 Docker 映像入口点脚本

    我有一个Dockerfile like FROM frolvlad alpine oraclejdk8 slim ADD build libs zuul jar app jar ADD src main script startup sh
  • xarray.DataArray.roll 方法创建不需要的工件

    最近 我一直在使用 xarray 加载一堆 NetCDF 文件并使用 cartopy 绘制它们 今天我注意到一件有趣的事情 对于我感兴趣的区域 我需要选择 20W 到 40E 经度 根据设计 我无法用一种方法做到这一点KEdiff mean
  • NSTimer 和更新 UI

    我一直在努力让我的游戏能够正常运行NSTimer 我发现很多人都遇到了与我类似的问题 我只需要对某些事情进行一些澄清 基本上我有一个NSTimer在主线程上运行 该线程正在更新代表时间的图像 但我也有一个地图视图 当用户平移地图时 计时器被
  • 将嵌套的 Pojo 对象作为单独的对象存储在数据库中

    我使用 jackson 将 json 字符串映射到我的 HTModel 类 这基本上是一个简单的 Pojo class HTModel public class Post extends HTModel public String id p
  • Android 8:不允许明文 HTTP 流量

    我收到 Android 8 用户的报告称我的应用程序 使用后端提要 不显示内容 经过调查 我发现 Android 8 上发生以下异常 08 29 12 03 11 246 11285 11285 E 12 03 11 245 main Ex
  • Django 多对多关系添加不起作用

    我正在将 Django 的 ManyToManyField 用于我的模型之一 class Requirement models Model name models CharField max length 200 class Course
  • 找到所有套装的组合 - 套装封面?

    有人可以分享一个java程序吗 它可以执行以下操作 如果给出以下集合作为输入 a 1 2 3 8 9 10 b 1 2 3 4 5 c 4 5 7 d 5 6 7 e 6 7 8 9 10 and U 1 2 3 4 5 6 7 8 9 1
  • 如何使用 gson 在 json 现有结构中再插入一项?

    下面的代码正确生成 json 文件的第一个结构 gson new GsonBuilder setPrettyPrinting create AudDetHeader AudDetHeader new AudDetHeader ArrayLi
  • 验证重叠 Gem 多个范围相互覆盖

    我正在使用 Validates Overlap Gem 可以在这里找到 https github com robinbortlik validates overlap https github com robinbortlik valida
  • 将 UTC 日期转换为其他时区

    我正在使用以下方法将 UTC 时间转换为另一个时区 SimpleDateFormat format new SimpleDateFormat yyyy MM dd HH mm ss Date parsed format parse 2011