Golang中如何向数据库插入数据
Golang中如何向数据库插入数据 大家好 能否请解释如何将日期时间转换为MySQL格式。 示例
- jul-16-201918:04:56 转换为MySQL格式 2006-02-01 15:04:05
func main() {
fmt.Println("hello world")
}
5 回复
mySqlToday := time.Now().Format("2006-01-02 15:04:05")
更多关于Golang中如何向数据库插入数据的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
您无需担心格式问题,因为可以将其作为 time.Time 类型直接传递给 MySQL。
我假设你有一个格式为 jul-16-201918:04:56 的字符串,并且想将其作为时间类型存储到数据库中。如果这是你想要做的,那么你可能只需要使用 Yamil_Bracho 链接的表示法将字符串解析为日期。对于你的字符串,我认为格式字符串应该是:"Jan-02-200615:04:05",但我还没有测试过。
"Jan-02-200615:04:05"
在Go语言中,将日期时间转换为MySQL格式(即2006-01-02 15:04:05)可以通过time包实现。首先,需要解析原始日期字符串,然后格式化为MySQL兼容的格式。以下是完整的示例代码:
package main
import (
"fmt"
"time"
)
func main() {
// 原始日期字符串:jul-16-2019 18:04:56
// 注意:原始字符串中月份是缩写,且没有空格分隔日期和时间部分
input := "jul-16-201918:04:56"
// 定义原始字符串的布局(layout)
// 使用 "Jan-02-200615:04:05" 作为参考布局
// 注意:月份缩写使用 "Jan",年份是2006,时间部分为15:04:05
layout := "Jan-02-200615:04:05"
// 解析字符串为time.Time对象
parsedTime, err := time.Parse(layout, input)
if err != nil {
fmt.Printf("解析错误: %v\n", err)
return
}
// 将解析后的时间格式化为MySQL格式
// MySQL格式为 "2006-01-02 15:04:05"
mysqlFormat := "2006-01-02 15:04:05"
output := parsedTime.Format(mysqlFormat)
// 输出结果
fmt.Printf("原始字符串: %s\n", input)
fmt.Printf("转换后MySQL格式: %s\n", output)
}
代码解释:
- 使用
time.Parse函数解析原始日期字符串。布局字符串"Jan-02-200615:04:05"对应原始格式,其中:Jan表示缩写的月份(如jul)。02表示日期。2006表示年份。15:04:05表示时间(24小时制)。
- 如果解析成功,使用
Format方法将时间对象转换为MySQL格式的字符串"2006-01-02 15:04:05"。
运行结果:
原始字符串: jul-16-201918:04:56
转换后MySQL格式: 2019-07-16 18:04:56
注意事项:
- 确保原始字符串的月份缩写与Go的
time包兼容(如jul对应July)。 - 如果原始字符串格式有变化(例如包含空格),需要调整布局字符串。
- 在插入数据库时,可以直接使用格式化后的字符串作为参数传递给SQL查询。

