将字符串时间转换为 Go 时间结构
在 Go 中,你可能会遇到需要将字符串时间值转换为时间的情况.时间结构。处理默认 time.Parse() 函数无法识别的特定格式的字符串时间值时会出现一个常见问题。
考虑格式为“20171023T183552”的字符串时间。要解析该字符串,我们可以根据其特定格式定义自己的布局字符串。
创建布局字符串
布局字符串通过定义如何指导转换过程应解释字符串时间值。对于给定的示例,格式可以描述为“YYYYMMDDTHHmmSS”。这意味着:
解析字符串
一次定义了布局字符串,我们可以将它与 time.Parse() 函数一起使用,将字符串时间值转换为 time.Time
s := "20171023T183552" layout := "20060102T150405" t, err := time.Parse(layout, s) if err != nil { fmt.Println(err) }
输出:
2017-10-23 18:35:52 +0000 UTC
结论
通过自定义布局字符串,我们可以成功将字符串时间值解析为 Go 中的 time.Time 结构,即使它们的格式与时间提供的标准选项不同包裹。
以上是如何将字符串时间转换为 Go 时间结构?的详细内容。更多信息请关注PHP中文网其他相关文章!