从 UTC 转换为本地时区给出错误结果

2024-06-19

背景
我需要将格式为“HH:mm”的时间字符串从 UTC 转换为本地时区。例如,如果 UTC 时间为 09:00,则当地时间(斯德哥尔摩/欧洲)应提前两个小时。

Problem
当我将 09:00 (UTC) 转换为斯德哥尔摩/欧洲时间时,我得到 10:00。应该是 11:00。

func UTCToLocal(date:String) -> String {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "HH:mm"
    dateFormatter.timeZone = TimeZone(abbreviation: "UTC")

    let dt = dateFormatter.date(from: date)
    dateFormatter.timeZone = TimeZone.current //Stockholm/Europe

    return dateFormatter.string(from: dt!)
}

print(UTCToLocal(date: "09:00")) //prints 10:00

为什么时区与预期的不同?


您仅指定了时间,但未指定日期,因此转换为“09:00” 到日期“2000-01-01 09:00:00 +0000”。当时斯德哥尔摩尚未实行夏令时,当地时间为 10:00。

如果您想要当天的转换,那么您可以设置

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

从 UTC 转换为本地时区给出错误结果 的相关文章

随机推荐

  • 如何在滚动时保持这些 tagHover 的位置靠近标签并且 tagHover 具有固定位置?

    https plnkr co edit PuP3f71kCjkqgjjMkgNS p preview https plnkr co edit PuP3f71kCjkqgjjMkgNS p preview 下面还有一个 stackoverfl
  • 是否可以在 Kivy 应用程序中读取多个 .kv 文件?

    我意识到简短的答案可能是 不 但也许这值得再问一次 如果我正在使用一个有几千行的 Kivy 应用程序 那么是否可以在另一个 kv 文件中编写一些类 这将使编辑 更正错误 进行更改等变得更加容易 只是为了澄清 KV 文件将是彼此的延续 不指向
  • 检查是否存在多列

    是否有更复杂的方法来检查数据框df包含 2 个名为Column 1 and Column 2 if numpy all map lambda c c in df columns Column 1 Columns 2 do something
  • W3WP.EXE 使用 100% CPU - 从哪里开始?

    在 IIS6 上运行的 ASP NET Web 应用程序会定期使 CPU 达到 100 在这些事件中 几乎所有的 CPU 使用情况都是由 W3WP 负责的 CPU 在几分钟到一个多小时的任何时间都保持在 100 这是在临时服务器上 此时该站
  • 如何使用现有列表创建二维数组?

    例如 我有一个名为 mazeline 的 txt 数据 如下所示 abcd cdae korp 所以我首先列出了 3 个清单 mazeline readmaze split mline0 list mazeline 0 mline1 lis
  • Akka Streams / HTTP:从响应中获取原始请求

    我有一个 Akka Streams 源 它会遍历流程并发布 HTTP 请求 source map toRequest via Http outgoingConnection host map toMessage 假设toRequest方法将
  • PHP-FPM 和 Nginx:502 错误网关

    配置 Ubuntu 服务器 11 10 64 位 亚马逊AWS Ec2 托管在云上 t1 micro实例 在我写任何其他内容之前 我想声明我已经检查了两者nginx 502 错误网关 https stackoverflow com ques
  • Yii2 修改 Model search() 中的 find() 方法

    我试图修改模型搜索中的 find 方法 但它抛出错误 必须设置数据提供程序属性 这是我的搜索模型 public function search params userID Yii app gt user gt identity gt id
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • 如何在 SVN 中分支单个文件?

    分支的颠覆概念似乎专注于创建整个存储库的 不稳定 分支 并在其上进行开发 是否有一种机制可以创建单个文件的分支 对于用例 请考虑具有多个特定于平台的源代码 c 实现的通用头文件 h 这种类型的分支是永久性的 所有这些分支都将不断发展 偶尔会
  • 在哪里可以下载 Java 8 基本配置文件?

    我的印象是 在版本 8 中 我们将能够下载我们需要的部分 jdk 并且它将具有完整的功能 我无法在任何地方找到 java 8 紧凑型配置文件 不是早期访问版本 简短回答 try 这个链接 http www oracle com techne
  • 检测 JPEG 图像质量

    我允许用户上传图像 但是 我希望保持 JPEG 质量不超过 90 我打算做的是检测当前的质量 如果低于 90 什么都不做 如果超过90 则使用Image Magick将图像重新压缩到90 可以这样做吗 我更喜欢 PHP 但任何语言都会有帮助
  • 如何在 Presto 中将数字格式化为保留 2 位小数的百分比?

    我有一个数字想在 Presto 中将其格式化为百分比 我想将 0 18932 格式化为 18 93 I tried format s decimal number 100 format s round a decimal number 10
  • iPhone SDK - orkut API

    我曾使用 gData 库从 iPhone 中的 Google 联系人中检索联系人信息 同样 我将与 Orkut 合作 有没有像 gData 这样适用于 Orkut 的库 如果是这样 请给我链接 提前致谢 对于 orkut 我们有 orkut
  • Android 平台上的客户端/对等点通过 wifi-direct 进行通信

    我有三个 Android 设备 A B 和 C 它们通过 wifi direct 连接 假设 B 是组所有者 我只有两个问题 1 A想要发送消息给C 消息是否必须经过群主B才能到达C 2 如果群主B意外断线 A还能给C发消息吗 Thanks
  • 如何使用 PyEphem 计算给定银河坐标(GLON,GLAT)的(alt,az)?

    对于地球上给定的观察者 lon lat time 和给定的银河坐标 GLON GLAT 如何使用 PyEphem 计算天空中相应的 alt az 点 鉴于 PyEphem 目前的工作方式 有两个步骤可以回答您的问题 首先 您必须将一对银河坐
  • 通过插件以编程方式修改 Eclipse 工作区和 CDT 选项

    我想从插件中以编程方式修改 Eclipse 工作区 添加现有项目是我的主要请求 另外 我想从该插件中修改 CDT 选项 环境 索引器选项 有谁知道如何最好地做到这一点或者可以向我指出有关该主题的良好文档 EDIT 实际上我不想修改 CDT
  • PyQt:数据不可 JSON 序列化

    我是 PyQt GUI 的新手 我想获取a的数据QLineEdit文本框 为此我正在使用text 方法 我正在获取数据 但数据类型是QString 我需要将其作为 json 数据传输到服务器 为此我使用json dumps 方法 但我收到错
  • Android Studio 无法运行 Xcode 模拟器

    我正在尝试使用 Xcode iPhone 模拟器模拟我的 Flutter 应用程序 但收到此错误 在升级 Android Studio 和 Xcode 之前 它运行良好 Launching lib main dart on iPhone X
  • 从 UTC 转换为本地时区给出错误结果

    背景我需要将格式为 HH mm 的时间字符串从 UTC 转换为本地时区 例如 如果 UTC 时间为 09 00 则当地时间 斯德哥尔摩 欧洲 应提前两个小时 Problem当我将 09 00 UTC 转换为斯德哥尔摩 欧洲时间时 我得到 1