Go语言 比较时间,MySQL超时与Before似乎不起作用

myzjeezk  于 2022-12-07  发布在  Go
关注(0)|答案(1)|浏览(119)

我尝试在Go语言中使用Before函数比较两个time.Time日期,问题是其中一个日期来自MySQL的datetime字段。
当我扫描结果时,它被保存为UTC时区,但我在数据库中写入了我的本地时间(UTC +1)。当我将数据库日期与我的本地时间time.Now()进行比较时,这是一个问题。
我通过扫描将日期提取到一个time.Time变量中,在连接字符串上使用?parseTime=true
你有什么建议吗?我不想在从DB阅读日期后增加1小时,因为这会导致我对夏令时(UTC +2)的问题。
我尝试从DB中提取日期,并使用UTC函数进行转换:

data, _ = time.Parse("2006-01-02 15:04:05", data.UTC().Format("2006-01-02 15:04:05"))

但没有取得任何成功。

kcwpcxri

kcwpcxri1#

要将一个mysql的datetime值转换为一个Go time.Time,我推荐以下代码:

datesplit := strings.Split(mysql_datetime, " ")
rfc3339_datetime = datesplit[0] + "T" + datesplit[1] + "Z"
godate, _ = time.Parse(time.RFC3339, datetime)

相关问题