首页 >后端开发 >Golang >如何将字符串时间转换为 Go 时间结构?

如何将字符串时间转换为 Go 时间结构?

Susan Sarandon
Susan Sarandon原创
2024-11-16 05:39:03637浏览

How to Convert a String Time to a Go Time Structure?

将字符串时间转换为 Go 时间结构

在 Go 中,你可能会遇到需要将字符串时间值转换为时间的情况.时间结构。处理默认 time.Parse() 函数无法识别的特定格式的字符串时间值时会出现一个常见问题。

考虑格式为“20171023T183552”的字符串时间。要解析该字符串,我们可以根据其特定格式定义自己的布局字符串。

创建布局字符串

布局字符串通过定义如何指导转换过程应解释字符串时间值。对于给定的示例,格式可以描述为“YYYYMMDDTHHmmSS”。这意味着:

  • YYYY:四位数年份
  • MM:两位数月份
  • DD:两位数日期
  • T:日期和时间分隔符
  • HH:两位数hour
  • mm:两位数分钟
  • SS:两位数秒

解析字符串

一次定义了布局字符串,我们可以将它与 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn