golang 保存时间到数据库会多出来八小时
2022/6/1 2:51:41
本文主要是介绍golang 保存时间到数据库会多出来八小时,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在golang 保存时间字符串转为时间格式后保存多出8小时
初步排查可能mysql数据库服务器时间问题
show variables like'%time_zone'; // outpot Variable_name`, `Value` 'system_time_zone', 'CST' 'time_zone', 'SYSTEM'
进入服务查看
date # outpout Tue May 31 14:47:19 CST 2022
时间区间是对 东八区
由于我们数据层 和 业务层分离
- 数据层接受前端参数 字符串
- 字符串传入rpc 传入 数据层
- 数据层写入数据库
直接在数据层测试写入数据 发现时间会改变 断定是 golang str to time 转换出了问题
网上说查看数据库链接时候设置时区
args := fmt.Sprintf("%s:%s@(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local", conf.Cfg.Mysql.User, conf.Cfg.Mysql.Password, conf.Cfg.Mysql.IP, conf.Cfg.Mysql.Port, conf.Cfg.Mysql.Name, ) // user:password@(localhost)/dbname?charset=utf8&parseTime=True&loc=Local conn, err := gorm.Open("mysql", args) ### 设置后任然无效
处理方式
time.ParseInLocation("2006-01-02 15:04:05", endTime, time.FixedZone("CST", 8*3600))
这篇关于golang 保存时间到数据库会多出来八小时的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15SendGrid 的 Go 客户端库怎么实现同时向多个邮箱发送邮件?-icode9专业技术文章分享
- 2024-11-15SendGrid 的 Go 客户端库怎么设置header 和 标签tag 呢?-icode9专业技术文章分享
- 2024-11-12Cargo deny安装指路
- 2024-11-02MongoDB项目实战:从入门到初级应用
- 2024-11-01随时随地一键转录,Google Cloud 新模型 Chirp 2 让语音识别更上一层楼
- 2024-10-25Google Cloud动手实验详解:如何在Cloud Run上开发无服务器应用
- 2024-10-24AI ?先驱齐聚 BAAI 2024,发布大规模语言、多模态、具身、生物计算以及 FlagOpen 2.0 等 AI 模型创新成果。
- 2024-10-20goland工具下,如修改一个项目的标准库SDK的版本-icode9专业技术文章分享
- 2024-10-17Go学习:初学者的简单教程
- 2024-10-17Go学习:新手入门完全指南