在 Go 中将 UTC 转换为“本地”时间

2024-02-03

如何将 UTC 时间转换为当地时间?

我已经为我需要当地时间的所有国家/地区创建了一张具有 UTC 差异的地图。然后,我将该差异作为持续时间添加到当前时间 (UTC) 中,并打印结果,希望这是该特定国家/地区的当地时间。

由于某些原因,结果是错误的。例如与Hungary http://www.timeanddate.com/worldclock/hungary/budapest有一个小时的时差。知道为什么我得到的结果不正确吗?

package main

import "fmt"
import "time"

func main() {

    m := make(map[string]string)
    m["Hungary"] = "+01.00h"

    offSet, err := time.ParseDuration(m["Hungary"])
    if err != nil {
        panic(err)
    }
    t := time.Now().UTC().Add(offSet)
    nice := t.Format("15:04")

    fmt.Println(nice)
}

请记住,游乐场有时间规定2009-11-10 23:00:00 +0000 UTC,所以它正在工作。

正确的方法是使用time.LoadLocation不过,这是一个例子:

var countryTz = map[string]string{
    "Hungary": "Europe/Budapest",
    "Egypt":   "Africa/Cairo",
}

func timeIn(name string) time.Time {
    loc, err := time.LoadLocation(countryTz[name])
    if err != nil {
        panic(err)
    }
    return time.Now().In(loc)
}

func main() {
    utc := time.Now().UTC().Format("15:04")
    hun := timeIn("Hungary").Format("15:04")
    eg := timeIn("Egypt").Format("15:04")
    fmt.Println(utc, hun, eg)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Go 中将 UTC 转换为“本地”时间 的相关文章

  • 日期时间时区反序列化

    我为我的应用程序开发了一个 Rest API 它以以下格式发送到应用程序日期2018 09 07T17 29 12 02 00 我猜 2 00 代表我的时区作为一个对象的一部分 在我的 Flutter 应用程序中 一旦我反序列化接收到的对象
  • 测试 gRPC 服务

    我想测试用 Go 编写的 gRPC 服务 我使用的示例是 Hello World 服务器示例grpc go 仓库 https github com grpc grpc go blob master examples helloworld g
  • R:变换不规则时间字符串

    我有两个不同的时间序列 来自不同的数据帧 具有不同的不规则格式 但问题是相同的 我只想提取小时 分钟 秒和毫秒 时代系列看起来像这样 ts1 08 27 23 445 08 27 24 280 08 27 25 115 I tried st
  • 为什么 setInterval 会无限循环

    我正在尝试设置一个计时器 以便它显示用户的秒数和分钟剩余时间 并且我正在使用setInterval获取秒数 如果有 60 秒 则会从用户处减少 1 分钟 问题是我变得无限for每次我尝试这样做时都会循环 就像是 var userObj na
  • 在C中将毫秒转换为秒

    简单的C问题 如何正确 简洁地将毫秒转换为秒 有两个限制 我在这个微小的 C 编译器子集中没有浮点支持 我需要将秒四舍五入到最接近的秒 1 499ms 向下舍入 500 999ms 向上舍入 不需要关心负值 int mseconds 160
  • 所有可能的 GOOS 价值?

    如果我做对了 GOOS在编译源代码时确定 为了更好地支持多个操作系统 我感兴趣的是GOOS可能 当然 Go 是开源的 所以它可能有无限的可能性 所以我真正想要的是一个 通用列表 已知值为 windows linux darwin or fr
  • golang中如何将相对路径解析为绝对路径?

    节点中是否有类似 path resolve 的API 或者有什么东西可以做同样的事情 例如 nodejs代码 path resolve sample sh 应该得到 home currentuser sample sh 解决 表示用户主目录
  • Time.valueOf 方法返回错误值

    我使用 Time valueOf 方法将字符串 09 00 00 转换为 Time 对象 如下所示 Time valueOf LocalTime parse 09 00 00 当我调用 getTime 来显示我得到的值时 28800000
  • PHP 如何查找自日期时间以来经过的时间? [复制]

    这个问题在这里已经有答案了 如何查找自日期时间戳记以来经过的时间2010 04 28 17 25 43 最终输出文本应该是这样的xx Minutes Ago xx Days Ago 大多数答案似乎都集中在将日期从字符串转换为时间 您似乎主要
  • 对嵌套结构使用自定义解组时,GoLang 结构无法正确解组

    我们需要对嵌套在多个其他结构中的结构使用自定义解组器 而这些结构不需要自定义解组器 我们有很多类似的结构B下面定义的结构 类似于嵌套A 代码的输出是true false 0 预期的true false 2 有任何想法吗 Go 游乐场示例he
  • 如何构建一个不链接到 musl libc 的 go 可执行文件

    So 官方的 Go 构建容器基于 Alpine 高山用途musl https www musl libc org 作为 libc 而不是 glibc 我需要在容器中构建一个可以在使用 glibc 的 Ubuntu 上运行的 Go 可执行文件
  • 处理时区转换的 JavaScript 库

    是否有一个 JavaScript 库可以处理时区转换 并考虑 DST 规则和此类内容 我知道有类似的问题 但我见过的问题似乎都没有真正适合我的问题的答案 我想在时区 A 创建一个日期并能够对其进行操作 添加天数 小时等 然后将其转换为另一个
  • R:如何将描述小时、分钟和秒的非直观字符串转换为可行的 POSIXct 格式以执行标准算术?

    我在 R 中有一个数据集 其值采用小时 分钟和秒格式 然而 有些值只有小时和分钟 有些值只有分钟和秒 有些值只有分钟 有些值只有秒 它的格式也不是很有利 样本数据如下 example lt as data frame c 22h28m 17
  • Go 指针 - 通过指针将值附加到切片

    我有一个 struct ProductData 及其实例 p 它有一个切片属性 type ProductInfo struct TopAttributes map string interface 我想设置 TopAttributes 如下
  • 管理多租户 ArangoDB 连接

    我使用 ArangoDB Go 使用 go driver 并且需要实现多租户 这意味着每个客户都将在单独的数据库中拥有他的数据 我想要弄清楚的是如何使这种多租户发挥作用 我知道为每个请求创建一个新的数据库连接是不可持续的 这意味着我必须维护
  • 共享 GOPATH 的良好做法是什么?

    我刚刚开始学习 Go 并阅读现有代码以了解 其他人是如何做的 在这样做时 go 工作空间 的使用 特别是当它与项目的依赖项相关时 似乎无处不在 在处理各种 Go 项目时 使用单个或多个 Go 工作区 即 GOPATH 的定义 的常见最佳实践
  • Golang:如何在HTTP客户端的TLS配置中指定证书

    我有一个证书文件 该位置是 usr abc my crt我想将该证书用于我的 tls 配置 以便我的 http 客户端在与其他服务器通信时使用该证书 我当前的代码如下 mTLSConfig tls Config CipherSuites u
  • 多个生产者,单个消费者:所有 goroutine 都在睡觉 - 死锁

    在继续工作之前 我一直遵循检查通道中是否有任何内容的模式 func consume msg lt chan message for if m ok lt msg ok fmt Println More messages m else bre
  • 如何使用 exec.Command 在 golang 中执行 Mysql 脚本

    您好 我正在尝试执行一个脚本以使用 Golang 将数据填充到数据库中 func executeTestScript cmd exec Command usr local mysql bin mysql h127 0 0 1 P3333 u
  • golang 中 *(*int)(nil) = 0 是什么意思?

    我注意到有一行 int nil 0在功能上throw https github com golang go blob master src runtime panic go L1113 go nosplit func throw s str

随机推荐

  • 使用$_REQUEST作为数据是错误的吗?

    所以 我已经编码了一点 2年 了 我有一个非常主观的问题 使用 REQUEST作为数据是错误的吗 顺便说一句 这主要与身份验证有关 如果您考虑数据出现的 3 种方式 REQUEST 它可以来自 cookie 表单或查询字符串 现在 我知道大
  • 远程链接中奇怪的下划线参数

    我使用 Rails3 JQuery 和 will paginate gem 来制作远程分页链接 已知的解决方案是 pagination a live click function getScript this href return fal
  • 无法加载文件 %CommonDir%\publish.tlb

    每次我安装并尝试启动 Microsoft Visual Studio 2012 时 都会收到以下弹出窗口 其中包含以下消息 无法加载文件 CommonDir publish tlb 由于找不到该文件 尝试修复此情况失败 请重新安装该程序 我
  • 儒略日期到常规日期的转换

    如何使用 java API 将代表 2013 年 11 月 18 日的儒略日期 2456606 转换为字符串格式 18 11 2013 我尝试执行下面的代码 但它没有给我正确的答案 欢迎对以下代码进行任何更正 String j 245660
  • opencv VideoCapture 在线程中被阻塞

    我需要一些有关在另一个线程中使用 opencv VideoCapture 的帮助 当我使用视频截取 http docs opencv org modules highgui doc reading and writing images an
  • 二维码怎么能存储这么多数据呢?

    快速谷歌搜索结果显示 QR 码可以容纳近 3kb 8 位 数据 但这不就是用黑 白点来表示位吗 如果是这样的话 代码上不可能有超过 20 000 个点 所以我显然是误解了 有人可以解释它是如何工作的吗 电装波says http www de
  • 接受 Rails 使用条款

    在 Rails 应用程序中添加接受使用条款的检查的最佳方法是什么 我似乎无法得到validates acceptance of工作得很好 我在我的用户模型中添加了一个布尔值 有必要吗 然后有一个返回 true false 的复选框 我觉得我
  • AS3 中的 URL 编码变量?

    尝试通过传递变量时出现以下错误URLRequestMethod POST 错误 错误 2101 传递给 URLVariables decode 的字符串必须是包含名称 值对的 URL 编码查询字符串 有没有字符串 URL 编码的方法 Act
  • 如何根据背景图像而不是窗口浏览器来定位图像

    我以前问过这个问题 但似乎没有人明白我在说什么 因为它是书面的 所以我现在只花了 2 分 12 秒 我在视频中说明了我的问题 视频链接 该问题的相关css代码 BackgroundImage position absolute width
  • 加快 Visual Studio 2005 中的编译速度

    对于主要包含 C 项目的解决方案 在 Visual Studio 2005 中加快编译时间的最佳方法是什么 除了预编译标头之外 还有许多其他事情可能会减慢您的速度 病毒检查软件 可能会对构建产生严重影响 如果您正在运行病毒检查程序 请尝试将
  • k-means 的时间复杂度是多少?

    我正在经历k means 维基百科页面 http en wikipedia org wiki K means clustering 根据算法 我认为复杂度是O n k i n 总元素 k 簇迭代次数 那么有人可以向我解释一下维基百科上的这个
  • 没有 pyvenv.cfg 文件

    我做了一个变量cfg waterot cfg然后创建一个新文件 waterot cfg 在 pycharm 中 这会自动生成一个pyvenv cfg文件 我不知道这是什么 我的代码出现错误 我删除了pyvenv cfg文件并更改自 cfg
  • getRootNav() 和 navCtrl() 方法之间的差异

    你能告诉我以下两种方法有什么区别吗 我应该在哪个时刻使用它 book ts this app getRootNav push FromBook bookId this data id this navCtrl push FromBook b
  • 使用 Flask-Security 为每个用户提供唯一的 Salt

    在阅读了一些有关对密码加盐的信息后 似乎最好为每个用户使用唯一的盐 我正在努力实现 Flask Security atm 从文档中看来 您只能设置全局盐 即 SECURITY PASSWORD SALT thesalt 问题 如何为每个密码
  • 如何返回所有列名称/标题(并避免“TypeError:table.columns(...).names不是函数”)?

    我有一个非常相似的问题this one https stackoverflow com questions 24325786 table columns is not a function in datatable js 我创建一个数据表
  • 如何为子图绘制动画图例?

    我想用 ArtistAnimation 绘制动画子图 不幸的是 我不知道如何拥有一个动画传奇 我尝试了在 StackOverflow 上找到的不同方法 如果我设法获得图例 它不是动画的 而只是所有动画步骤的图例 我的代码如下所示 impor
  • 如何在 Express 应用程序中使用通过 npm 安装的 jQuery?

    我有一个 Node js Express 应用程序 并使用 npm 安装了 jQuery in the app js我使用的文件 var jquery require jquery 在 html 文件头中 我包含了使用 jQuery 的 j
  • Android 中未应用 CSS 旋转(phonegap)

    我正在phonegap 中构建一个Android 应用程序 但我遇到了使用CSS 旋转div 的问题 我在这里发现了类似的问题 CSS 旋转未应用于 Android 4 0 webview https stackoverflow com q
  • 路线变更转场效果

    我想知道你们中是否有人在Angular2中实现了Router过渡效果 我想主要使用CSS 到目前为止 我已经摆脱了不需要的状态 并在我的视图中添加了一些 CSS 技巧 以欺骗用户存在状态更改 但这种方法不会让我有任何结果 我具体寻找的是重叠
  • 在 Go 中将 UTC 转换为“本地”时间

    如何将 UTC 时间转换为当地时间 我已经为我需要当地时间的所有国家 地区创建了一张具有 UTC 差异的地图 然后 我将该差异作为持续时间添加到当前时间 UTC 中 并打印结果 希望这是该特定国家 地区的当地时间 由于某些原因 结果是错误的