go - 将字符串时间转换为 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
}
解决方案
时间格式使用特定值来表示时间/日期元素。2006 是年,01 是月,等等。所以要解析那个日期,你的布局必须是:
timeLayout:="2006-01-02 15:04:05"
解析后,有一种更简单的方法可以满足您的需要:
outInt:=t.Year()*10000+int(t.Month())*100+t.Day()
或者,使用类似的布局转换为字符串,然后转换为 int。
推荐阅读
- c# - 项目输出类型未更改为控制台应用程序,控制台窗口未在 WinForms 中显示
- algorithm - 送餐应用使用什么算法对附近的订单进行分组?
- text - 在STM32 F4内部闪存中存储和写入文本文件
- c# - MondoDB:查找文档匹配列表对象的所有字段
- c# - WPF 在后台工作完成后自动关闭对话框
- amazon-web-services - AWS CDK Java - 模板格式错误:映射元素计数 0 应大于 0
- java - del 函数在这个程序中是如何执行的?del 函数在这个程序中是如何执行的?del 函数在这个程序中是如何执行的?
- logging - 将日志消息从 datadog 发送到松弛通道
- sql - SQL 错误 [937] [42000]: ORA-00937: not a single-group group function
- java - 如何将 JPanel 添加到 JFrame 对象?