You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go语言解析2021-05-06 00:00:00 +0530 IST字符串的正确time layout是什么

Go时间字符串解析问题解答

核心结论

Go语言的时间解析layout不能直接使用待解析的时间样例,必须基于Go官方指定的参考时间 Mon Jan 2 15:04:05 MST 2006 按对应格式位拼接。

正确layout参数

你需要的格式对应的正确layout为:2006-01-02 15:04:05 -0700 MST

正确代码示例

addedOn := "2021-05-06 00:00:00 +0530 IST"
layout := "2006-01-02 15:04:05 -0700 MST"
// 直接解析即可识别字符串中自带的时区信息
resTime, err := time.Parse(layout, addedOn)
if err != nil {
    // 自定义错误处理逻辑
    panic(err)
}

// 如果需要强制指定时区解析可以使用ParseInLocation
// loc, _ := time.LoadLocation("Asia/Kolkata") // IST对应亚洲加尔各答时区
// resTime, err := time.ParseInLocation(layout, addedOn, loc)

错误原因说明

你之前的写法直接将待解析的时间字符串作为layout参数传入,Go解析时会将layout中的字符与参考时间的格式位做映射,第一个字符2会被识别为参考时间中代表月份的1的对应位,后续解析时格式无法匹配就抛出了报错。


内容的提问来源于stack exchange,提问作者elliot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:06:03