zoukankan      html  css  js  c++  java
  • 用gorm向mysql插入的时间数据和实际时间不一致问题

    在golang中用gorm向mysql插入的时间数据和实际时间不一致问题

    问题: 使用下面这段代码向数据插入数据。其中CreateTime和ModifyTime是time.Time类型。使用time.Now()生成的时间和电脑本地时间是一致的,但是当这条数据插入到mysql数据库的article表时,CreateTime和ModifyTime两个字段的时间值却和本地时间不一样了。

    func InsertArticle(c *gin.Context) {
    	article := model.Article{
    		Title:      "Ubuntu18.04上安装NS-3",
    		Abstract:   "只是一个摘要而已",
    		Type:       2,
    		CreateTime: time.Now(),
    		ModifyTime: time.Now(),
    	}
    	result := article.InsertArticle()
    	c.String(http.StatusOK, "插入数据的结果", result)
    }
    

    原因: 该问题应该是由时区不一致造成的。

    解决方法: 在使用gorm.Open连接mysql数据库时,在后面加上parseTime=True&loc=Local,插入的时间就和本地时间一致了。

    Db, err = gorm.Open("mysql", "root:12345@tcp(127.0.0.1:3306)/databasename?parseTime=True&loc=Local")
    
  • 相关阅读:
    Python3 面向对象小练习
    Python3 面向对象进阶1
    Python3 类的继承小练习
    Python3 类的继承
    Python3 数据结构之词频统计(英文)
    Python3 类与对象之王者荣耀对战小游戏
    Python3 类与对象
    SQL优化单表案例
    SQL性能分析
    索引简介
  • 原文地址:https://www.cnblogs.com/variablex/p/14059869.html
Copyright © 2011-2022 走看看