为什么 go 语言中转换时间时区不生效
这是一个关于 go 语言中时间处理的常见问题。在问题中,开发者试图将字符串转换为时间类型,指定时区为 "asia/shanghai",但最终输出的结果却显示时区没有发生改变。让我们逐一了解引发此问题的根源:
问题所在:
仔细检查输入字符串 "2021-11-48 11:48:00",会发现存在一个显而易见的错误:11月不可能有48号。go 语言的 time.parseinlocation 函数在解析时间字符串时会严格检查时间的合法性,因此它将无法接受带有无效日期的输入。
解决方案:
要解决此问题,只需更正输入字符串中的日期值,使其成为合法日期,例如 "2021-11-18 11:48:00"。这样,time.parseinlocation 函数便能够正确解析字符串并将时区更改为 "asia/shanghai":
func main() { str := "2021-11-18 11:48:00" // 更正日期 loc, _ := time.LoadLocation("Asia/Shanghai") ts, err := time.ParseInLocation("2006-01-02 15:04:05", str, loc) if err != nil { fmt.Println("ts is", ts) } else { fmt.Println(ts) // 输出:2021-11-18 11:48:00 +0800 CST } }
登录后复制
现在,输出将正确反映 "asia/shanghai" 时区,即 "2021-11-18 11:48:00 +0800 cst"。
以上就是为什么 Go 语言中转换时间时区不生效?的详细内容,更多请关注抖狐科技其它相关文章!
-
怎么去掉小红书水印美图
移除小红书水印美图的方法有两种:使用“remove & add watermark” app,通过手指划动选中水印区域后点击“移除”即可去除水印。访问在线水印去除网站,使用鼠标划框选中水印区域后点击“...
-
ddos怎么知道自己防御了多少钱
最快捷的方法是直接联系 ddos 防护服务提供商以了解具体成本。您也可以查看服务条款或报价,估计流量和资源使用情况,并考虑额外费用,如咨询、带宽和服务升级费用。如何得知 DDoS 防御成本 直接询问...
-
从爱奇艺上下载视频到u盘怎么弄出来
从爱奇艺下载视频到 u 盘的步骤:下载爱奇艺客户端,登录后下载视频。在下载页面找到视频,点击播放以获得实际存储位置。打开文件管理器,将视频文件拖放到 u 盘根目录。确保 u 盘有足够空间并注意 drm...
-
C++ 函数的异常处理机制:如何自定义异常类?
如何创建和使用 c++++ 中的自定义异常类:创建一个继承自 std::exception 的类以表示特定的错误状况。使用 throw 关键字抛出自定义异常的实例。使用 catch 子句捕获自定义异常...
-
《死亡岛2》Steam国区售价下调 标准版永降42元
第一人称动作角色扮演游戏《死亡岛2》Steam国区售价迎来永降,目前《死亡岛2》标准版Steam国区售价为185.8元(原价228元),黄金版售价为258元(原价298元),扩充通行证售价为59.8元...