Golang中如何向数据库插入数据

Golang中如何向数据库插入数据 大家好 能否请解释如何将日期时间转换为MySQL格式。 示例

  1. 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查询。
回到顶部