解析MySQL日期时间为Golang时间
偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《解析MySQL日期时间为Golang时间》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!
问题内容我的表中有 mysql 标准格式的 mysql 日期时间,例如
“2018-09-19 18:26:32.000000”
当我尝试使用 time.parse()
函数将其转换为 golang 时间时,我收到错误
解析时间“2018-09-19 18:26:32.000000”:月份超出范围
我尝试在线搜索,该格式似乎被许多人允许并常用来成功解析。
谁能帮我解决我所缺少的东西?下面是我正在使用的代码片段。
import (
"fmt"
"time"
)
layout := "2018-09-19 18:26:32.000000"
fmt.Println(val)
// prints 2018-09-19 18:26:32.000000
t, err := time.Parse(layout, val)
fmt.Println(fmt.Println(t.Unix()))
// prints -62135596800
fmt.Println(err)
// prints parsing time "2018-09-19 18:26:32.000000": month out of range
解决方案
你的布局错误,应该是"2006-01-02 15:04:05.000000"
。文档指出:
parse 解析格式化字符串并返回它的时间值 代表。布局通过显示引用的方式来定义格式 时间,定义为
2006 年 1 月 2 日星期一 15:04:05 -0700 mst
如果它是值,则会被解释;它作为输入格式的示例。然后将对输入字符串进行相同的解释。
package main
import (
"fmt"
"time"
)
func main() {
val := "2018-09-19 18:26:32.000000"
layout := "2006-01-02 15:04:05.000000"
t, _ := time.parse(layout, val)
fmt.println(t.unix()) // prints 1537381592
}
输出
1537381592
试试here
好了,本文到此结束,带大家了解了《解析MySQL日期时间为Golang时间》,希望本文对你有所帮助!关注编程网公众号,给大家分享更多Golang知识!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341