如何将Go time.Time转换为MySQL日期时间? [已关闭]

问题描述 投票:0回答:1

我正在 Go 中生成一个日期时间字符串,当我将生成的值插入 MySQL 表中时,该列的值变为: 0000-00-00 00:00:00 但它应该是: 2019-08-21 11:05:45.

我不明白为什么日期时间变为零,我猜有一些不匹配。

goDateTime := time.Now().Format("02-01-2006 03:04:05") 

上面的代码以字符串形式返回日期时间。但在我的数据库表中,列类型是

datetime
。我将数据库类型更改为
varchar
并且它有效,但我想使用
datetime
时间。

mysql database go
1个回答
13
投票

您的日期格式字符串与 MySQL 不兼容,MySQL 要求日期时间值采用

YYYY-MM-DD hh:mm:ss
格式,其中
hh
是 24 小时值(请参阅 手册)。应该是

golangDateTime := time.Now().Format("2006-01-02 15:04:05") 

请注意,您还可以使用常量

time.DateTime
,它映射到相同的值。请参阅手册

© www.soinside.com 2019 - 2024. All rights reserved.