golang中多种方式设置时区

2023-11-05

关于我

文章首发 | 我的博客 | 欢迎关注

go语言的time.Now()返回的是当地时区时间

time.Now().Format("2006-01-02 15:04:05")

time设置自定义时区

var cstSh, _ = time.LoadLocation("Asia/Shanghai") //上海
fmt.Println("SH : ", time.Now().In(cstSh).Format("2006-01-02 15:04:05"))

LoadLocation 有个问题,它依赖于 IANA Time Zone Database (简称 tzdata 吧) 这个数据库,一般linux系统都带了,但是windows系统就没带。所以如果windows系统没有安装go环境,调用LoadLocation就会报错。

当前解决方法也有:

1、我们可以自己把tzdata文件放到自己的程序目录中,然后让 time 包能够从我们自己的程序目录中加载时区文件就可以了。

文件目录可以通过环境变量设置,在main方法中:

os.Setenv("ZONEINFO", '/home/tz/data.zip')

然后再调用 LoadLocation 方法就可以了。

下载tzdata

2、使用时区方式 推荐方式

var cstZone = time.FixedZone("CST", 8*3600)       // 东八区
fmt.Println("SH : ", time.Now().In(cstZone).Format("2006-01-02 15:04:05"))

全局设置

如果说要设置全局的time时区配置应该如何做?

main.go(主函数处)增加一个初始化方法

func initInMain() {
	var cstZone = time.FixedZone("CST", 8*3600) // 东八
	time.Local = cstZone
}

将定义的时区实例赋值给time.Local

推荐阅读

Redis工具收费后新的开源已出现

GitHub上Star最高的工程师技能图谱

中国程序员最容易发错的单词

推荐!!! Markdown图标索引网站

最后

本文到此结束,希望对你有帮助

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

golang中多种方式设置时区 的相关文章

  • 如何将 long (currentTimeInMillis) 转换为 UTC 时间戳?

    我的客户正在向我发送Long这可以被认为是 scala gt System currentTimeMillis res3 Long 1441056836609 scala gt 我如何将其转换为UTC时间戳 在服务器上 我们使用Java 8
  • 使用 print in 循环会减慢循环速度

    Using print in a loop slows down the loop Printing something I tried with Hello 100 times take 2 sec without it it takes
  • 如何在C中将UTC时间转换为本地时间?

    这是一个简单的问题 但解决方案似乎远非简单 我想知道如何从 UTC 转换为本地时间 我正在寻找一种标准的 C 解决方案 并且或多或少保证可以在任何位置的任何计算机上工作 我已仔细阅读以下链接 但在那里找不到解决方案 在C中将包含本地时间的字
  • srand 在 C++ 中太慢,它返回相同的数字

    我只是想拥有简单的 RndInt limit 函数 该函数将返回以限制作为限制的随机数 cout lt lt Enter higher limit of random range cin gt gt limit while limit 0
  • 在Java中,是否可以执行一个方法一段时间,并在达到时间限制后停止?

    我有下载网页的代码 HttpURLConnection connection private String downloadContent InputStream content Source parser try content conn
  • 长时间运行进程的超时和 Windows 服务 (Python)

    我有一个使用 python 创建的简单 Windows 服务 我的问题是 我不知道该服务需要多长时间才能完成 可能需要 15 秒 也可能需要 4 个多小时 具体取决于需要对数据执行的操作 4个多小时的情况很少见 但我也遇到过这种情况 以下是
  • 当夏令时开始/结束时,自纪元以来的毫秒数会发生什么?

    自纪元以来的毫秒数表示自 1970 年以来经过的毫秒数 在夏令时结束之前的那一刻 或者当我们将时钟从 2 00 设置回 1 00 时 自纪元以来的毫秒数也会回退 或者他们继续吗 另一个问题 如果我住在美国加利福尼亚州 采用太平洋 夏令 标准
  • C++:如何通过时间和本地时间获取实际时间?

    我正在寻找一种在 C 中以 HH MM SS 方式节省时间的方法 我在这里看到它们有很多解决方案 经过一番研究后我选择了time and localtime 然而 似乎localtime函数有点棘手 因为它says http rabbit
  • 建议一种每分钟更新时间的方法

    我有一个完整的ajax应用程序 我正在使用下面的代码每分钟更新一次时间 但如果我保持浏览器打开超过 10 分钟 浏览器就会变得无响应 缓慢 建议更好的代码 function tick var d new Date var time padN
  • Bash:从给定时间减去 10 分钟

    在 bash 脚本中 如果我有一个代表时间的数字 格式为 hhmmss 或 hmmss 那么减去 10 分钟的最佳方法是什么 即 90000 gt 85000 这有点棘手 日期可以进行一般操作 即您可以执行以下操作 date date 10
  • Ruby 中的日期时间和时间之间的转换

    在 Ruby 中如何在 DateTime 和 Time 对象之间进行转换 require time require date t Time now d DateTime now dd DateTime parse t to s tt Tim
  • time() 会返回相同的输出吗?

    当用户注册时 我正在为 PHP 中的用户生成令牌 我想知道两个用户是否可以获得相同的令牌 因为这会破坏系统 请让我知道这是否足够 token md5 rand time 编辑 我现在正在使用我在另一个问题上找到的generate uuid
  • “马来半岛标准时间”的时区问题

    我有一个在 C 上运行以下代码的程序 TimeZoneInfo localZone TimeZoneInfo Local string timeZone TimeZoneInfo FindSystemTimeZoneById localZo
  • 午夜后时间设置不正确

    我使用以下命令以更易读的格式获取当前日期 时间 set day date 4 2 set mth date 7 2 set yr date 10 4 set hur time 0 2 set min time 3 2 set bdate d
  • Python-将秒从纪元时间转换为人类可读时间[重复]

    这个问题在这里已经有答案了 最初我编写了这段代码来将日期转换为人类可读的时间 a datetime datetime strptime time Y m d H M S f b datetime datetime now c b a day
  • 处理 C++ 中执行时间的大量分析

    我目前正在进行一个科学计算项目 涉及海量数据和复杂算法 因此需要进行大量代码分析 我目前依靠的是
  • 将时间添加到日期时间

    我有一个像这样的日期字符串 然后使用strptime 所以就像这样 my time datetime datetime strptime 07 05 15 m d Y 现在我想添加 23 小时 59 分钟my time 我努力了 timed
  • 如何在 python 中使用 urllib2 加快获取页面的速度?

    我有一个脚本可以获取多个网页并解析信息 一个例子可以在 我在上面运行了 cProfile 正如我所假设的 urlopen 占用了很多时间 有没有办法更快地获取页面 或者一次获取多个页面的方法 我会做最简单的事情 因为我是 python 和网
  • R 中按时间划分的平均值

    我每秒测量一次化合物浓度 我想求 30 秒和 60 秒的平均值 我一直在阅读这里的帖子 我尝试过lubridate and dplyr 但没有运气 我正在努力完成这项工作 但我一直没能做到 我正在从 SAS 过渡到 R 所以请耐心等待 这是
  • 使用 MYSQL 将 h:mm pm/am 时间格式插入数据库

    我正在尝试将以 h mm am pm 格式写入的时间插入到存储为标准 DATETIME 格式 hh mm ss 的数据库中 但我不知道如何将发布的时间转换为标准格式所以数据库会接受它 这是我到目前为止一直在尝试的 title POST in

随机推荐

  • Spring报错 conflicts with existing, non-compatible bean definition of same name and class

    如果出现这个错误可能有两种情况 1 那就是你的spring容器中确实注入了两个同名的对象 这个需要仔细检查自己的 Service Controller component是不是有相同的value值 或者xml文件中有两个一样的id 2 就是
  • 运行Adobe提示This non-genuine Adobe app has been disabled soon

    运行Adobe提示This non genuine Adobe app has been disabled soon这个问题 如何解决呢 小编为大家带来了详细的解决方案 一起来看看吧 分享一个临时处理可用的方法 需要用到的软件 Radio
  • 桌面下雪小程序 WIN32

    想起以前还没有上大学的时候 过圣诞节 有同学发了一个桌面下雪的小程序 当看到效果的 哇 当时觉得好高端 就想什么时候我也能写出这么一个程序 学了计算机之后 发现这完全可以实现 于是就准备写一个 当卡壳的时候在网上找资料 结果发现在网上找到的
  • HashMap为什么使用红黑树而不用普通的AVL树

    红黑树是一种平衡二叉树 要求从根到叶子的最长路径不会超过最短路径的2倍 AVL树是高度平衡的二叉树 左右子树树高不超过1 补充 AVL是Adelson Velskii和Landis树的缩写 是一种用于排序的二叉搜索树 一般用平衡因子判断是否
  • 操作生产库之前--你应该做什么

    操作生产库之前 你应该做什么 操作之前的数据库风险单 在操作生产库一般可能会出现无法预知的未知因素 这可能给数据库的操作带来意外的麻烦 这些都是在操作之前 应该考虑的 数据库操作者 操作开始时间 操作时间范围 预计工作时间的两倍半 可能出现
  • 为什么程序员一定要会用Google和Stack Overflow?

    内容简介 前言 为什么用Google不用百度 为什么用Stack Overflow 小结 前言 下文中 谷歌统一用Google表示 作为程序员 用Google比用百度更节省时间 此话不假 在法国工作也有4年了 加上之前的两个6个月的实习 勉
  • angularjs中post请求进行跨域

    post请求进行跨域 angularjs内置封装了类ajax的网络服务 http 所以实现了依赖外部插件来完成完整的前后端分离方案 scope main getData function http method POST url http
  • Git基于已有分支创建新的分支,简单的git 命令

    准备工作 进入要创建git分支项目目录 打开git命令行 1 基于已有分支代码创建新的分支 git checkout b new branch name origin source branch 2 将代码推送到新创建的git分支上 git
  • Qt Creator使用内存泄漏检测工具Valgrind

    Qt Creator使用内存泄漏检测工具Valgrind 随着软件变得越来越复杂 内存泄漏和野指针问题已经成为程序员最头痛的问题之一 幸运的是 现代IDE提供了许多工具来帮助我们解决这些问题 在这篇文章中 我们将介绍如何在Qt Creato
  • 单价数量和总价的公式_小学六年超全的数学公式!家长们赶紧给孩子看过来……...

    小学数学基础知识整理 一到六年级 小学一年级 初步认识加减法 学会基础加减 小学二年级 完善加减法 表内乘法 学会应用题 基础几何图形 小学三年级 学会万以内加减法 长度单位和质量单位 倍数的认知 多位数乘一位数 时间量及单位 长方形和正方
  • 租赁OLED透明屏:打造独特商业体验的智慧选择

    近年来 OLED透明屏技术在商业领域中迅速崛起 其高透明度和卓越的图像质量为商家创造了全新的展示方式 租赁OLED透明屏作为一种智慧选择 不仅能提升品牌形象和吸引力 还能创造与众不同的视觉体验 对此 尼伽将和大家一起深入探讨租赁OLED透明
  • 如何从零开始搭建公司自动化测试框架?

    搭建的自动化测试框架要包括API测试 UI测试 APP测试三类 以上三类其实可以简化为两类 那就是 1 接口自动化测试框架搭建 2 UI自动化测试框架搭建 没问题 安排 且是手把手教你如何搭建以上两类自动化测试框架 刷到这个问题的测试人员
  • Ubuntu上vscode调试C/C++代码

    这篇文章起初是我看了一个B站的视频 作者讲述了如何在Ubuntu的 环境中通过使用vscode调试C C 代码 这个教程非常好 也非常推荐给大家 但是这个教程有一个局限性 就是他在他的公共号上写的教程非常简略 以至于我想再次看一遍 需要重新
  • 微信小程序引入背景图的三种方法

    1 直接在标签里加上style样式 加上背景图
  • K8s集群组件、flannel网络插件、Pod详解

    文章目录 Kubernetes 1 K8S集群架构 2 角色与功能 3 部署环境要求 Master Node 4 flannel插件 flannel是什么 目的 5 Pod 什么是Pod 为什么要使用Pod Pod的生命周期 Pod的创建过
  • STL源码:lis容器(Qt5.8版本)

    初次学习STL源码 很多语义尚且比较模糊 需待二次学习 源文件结构 主要的实现都在
  • Odoo 16 企业版手册 - CRM (2)

    销售线索 在与客户或组织开展业务之前 可以将销售线索视为第一步 如果个人或组织对您的业务感兴趣 您可以将他们的兴趣转换为您的业务 作为销售线索 稍后可以转换为销售机会 在Odoo CRM的帮助下 可以从各种来源收集线索 通过电话 短信 电子
  • windows下安装git

    一 下载Git安装包 1 打开Git的官方网站 https git scm com 2 找到下载页 https git scm com downloads 3 找到Windows版本下载页面 https git scm com downlo
  • 数据结构复杂度分析

    文章目录 前言 一 什么是复杂度分析 二 为什么要进行复杂度分析 三 如何进行复杂度分析 1 大O表示法 2 复杂度分析法则 四 常用的复杂度级别 1 常数阶O 1 2 线性阶O n 3 平方阶O n 4 对数阶O logn 五 不常见的时
  • golang中多种方式设置时区

    关于我 文章首发 我的博客 欢迎关注 go语言的time Now 返回的是当地时区时间 time Now Format 2006 01 02 15 04 05 time设置自定义时区 var cstSh time LoadLocation