首页 > 解决方案 > 将字符串时间转换为 int

问题描述

我想将字符串时间转换"2019-06-20 13:30:31"为 int 20190620,我尝试使用以下代码,但我得到了10190101,我的试用有什么问题?

func (u *Util) ConvertStringTimeToInt(stringTime string) (intTime int64) {
    timeLayout := "2019-01-01 01:01:01"
    timeOutput := "20190101"
    tmp, _ := time.Parse(timeLayout, stringTime)
    out := tmp.Format(timeOutput)
    outInt, _ := strconv.ParseInt(out, 10, 64)
    return outInt
}

标签: go

解决方案


时间格式使用特定值来表示时间/日期元素。2006 是年,01 是月,等等。所以要解析那个日期,你的布局必须是:

timeLayout:="2006-01-02 15:04:05"

解析后,有一种更简单的方法可以满足您的需要:

outInt:=t.Year()*10000+int(t.Month())*100+t.Day()

或者,使用类似的布局转换为字符串,然后转换为 int。


推荐阅读