Go 将时间字符串类型解析回时间类型错误
错误:Go 将时间字符串类型解析回时间类型错误,go,Go,错误:解析时间“2014-04-22 23:41:12+0800 CST”:月份超出范围 我通过time.Now().String()获得source,但我无法将其转换回来。这段代码有什么问题?来自文档: Parse解析格式化的字符串并返回它的时间值 代表布局通过显示引用的方式定义格式 时间, 周一1月2日15:04:05-0700 MST 2006将被解释为 值;它作为输入格式的一个示例。相同的 然后将对输入字符串进行解释。预定义的 ANSIC、UnixDate、RFC3339和其他布局描述了
解析时间“2014-04-22 23:41:12+0800 CST”:月份超出范围
我通过
time.Now().String()
获得source
,但我无法将其转换回来。这段代码有什么问题?来自文档:
Parse解析格式化的字符串并返回它的时间值
代表布局通过显示引用的方式定义格式
时间,
周一1月2日15:04:05-0700 MST 2006将被解释为
值;它作为输入格式的一个示例。相同的
然后将对输入字符串进行解释。预定义的
ANSIC、UnixDate、RFC3339和其他布局描述了标准和
参考时间的方便表示。更多信息
有关参考时间的格式和定义,请参见
ANSIC和本文件定义的其他常数的文件
包裹
(我的加粗)
所以你想要的是
package main
import "fmt"
import "time"
func main() {
source := "2014-04-22 23:41:12.518845115 +0800 CST"
Form := "2014-04-22 23:41:12.518845115 +0800 CST"
t, err := time.Parse(Form, source)
if err == nil {
fmt.Println(t.String())
} else {
fmt.Println(err)
}
}
以输入字符串的格式列出的日期。当我在操场上写这篇文章时需要注意的一点是,它看起来像是05.000000000
(秒和秒的分数)部分,您需要格式字符串包含的小数点与您要解析的字符串的小数点相同
这里有一个游乐场版本显示了它的工作原理:谢谢。
源
和表单
的小数点相同。我认为原因在于-0700 MST
部分。
Form := "2006-01-02 15:04:05.000000000 -0700 MST"