golang gorm 时间查询, 时区问题

本贴最后更新于 2106 天前,其中的信息可能已经物是人非

在使用 gorm 开发的时候 发现一个奇怪的问题.

生成的 SQL, 在程序中查询不到内容, 在是 Navicat for MySQL 中查询正常.

gorm 生成的 sql 及结果.

imagepng

可以看到, 大大的红字

[0 rows affected or returned ]

把 sql 复制到 Navicat 中

imagepng

这 *** 不是有数据吗! 😭

然后!!!!!
尝试过很多方法.都没有解决问题.

直到想到了一个很容易忽略的问题: 时区.

使用 mysql 的时间字段遇到如下两个问题
1.使用 go-sql-driver 来连接 mysql 数据库,获取的时区默认是 UTC +0 的,与本地的东八区是有区别,在业务处理中会出现问题
2.获取 mysql 中的日期,是 string 类型,需要在代码中用 time.Parse 进行转化

解决方案:
在连接的 dsn 中,添加 parseTime=trueloc=Local,此处的 local 可以换为具体的时区 (Asia/Shanghai)

数据库链接:

 root:root@tcp(localhost:3306)/abc?charset=utf8

改为

 root:root@tcp(localhost:3306)/abc?charset=utf8&parseTime=True&loc=Local

问题解决...

imagepng

结论

大多时候, 找不到问题的问题. 会是一个很煞笔的问题....😂

  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    492 引用 • 1384 回帖 • 363 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • xhaoxiong

    对呀 时区参数不能少的,这里是个坑

  • 其他回帖
  • someone

    😂

  • someone

    👍 这个坑还有点难找.~

  • xhaoxiong

    今天发现了一个新的坑,在生产环境下如果你用二进制编译跑的话 你还需要将源文件的 go/lib/time/zoneinfo.zip 放到你本机的那种路径下, 如图
    imagepng

  • 查看全部回帖
K
暴风雨之后,不止没看到彩虹,还感冒了。 上海

推荐标签 标签

  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 205 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    90 引用 • 383 回帖
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    22 引用 • 81 回帖
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 1 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 703 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖 • 10 关注
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    129 引用 • 793 回帖
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1398 回帖
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    26 引用 • 221 回帖 • 153 关注
  • sts
    2 引用 • 2 回帖 • 154 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    133 引用 • 3655 回帖
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    76 引用 • 390 回帖
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖
  • 音乐

    你听到信仰的声音了么?

    59 引用 • 509 回帖
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 294 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    122 引用 • 73 回帖
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 684 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 1 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 423 关注
  • 博客

    记录并分享人生的经历。

    271 引用 • 2386 回帖
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 156 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 15 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    103 引用 • 294 回帖
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 26 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 9 关注