go模型时间格式

发布于 2022-09-12 03:49:01 字数 88 浏览 24 评论 0

模型从数据库里拿出来的格式是`1993-01-01T20:08:23.000000028+08:00`,怎么转成`1993-01-01 20:08:23`这种格式

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

沉睡月亮 2022-09-19 03:49:01

Format方法
例如:
time.Now().Format("2006-01-02 15:04:05"))
输出为:2020-07-07 09:30:06

风吹过旳痕迹 2022-09-19 03:49:01

莫名其妙被踩一下, 如果你用 ORM 不想写sql , 还想要时间格式化,就自己重写 time.Time 自定义 序列化方法,不嫌麻烦就自己写 ,网上各种博客一堆这种方法,弊端也有自己体会,懒得说
不用 ORM 使用 sql 直接 调数据库 内置函数 格式化时间输出就好, sqlx 也可以直接映射 查询结果到结构体, 不需要一个一个 scan, 用起来跟 orm 没啥区别还更灵活,支持复杂查询, ORM 应付简单的查询可以, 复杂的就是自己给自己喂屎, orm拿来做自动迁移表和简单查询就行

如果你的问题不是 上述的问题, 只是你想 格式化时间, 那么看楼上的回答,就是go的基础问题

不想说啥,莫名其妙被扣两分,服了, 最后 go的orm 没有Java那么牛逼,很弱鸡,能明白就明白吧,无所谓了

此回答不会再更新

============== 原回答 ================

如果是ORM中的时间,那没啥好办法, 建议交给前端处理. 或者放弃使用 orm
这里推荐一波 sqlx ,完全兼容官方库的 database/sql 并且支持查询结果直接映射到结构体,
只是需要手写sql查询而已 ,很方便了...

城歌 2022-09-19 03:49:01

你这个应该是 RFC3339Nano layout, 可以用下面的方法:

str := "1993-01-01T20:08:23.000000028+08:00"
t, _ := time.Parse(time.RFC3339Nano, str)
fmt.Println(t.Format("2006-01-02 15:04:05"))
感性 2022-09-19 03:49:01

自己封装一个就好了

//DateRFCChange format := time.RFC3339 dateFormat := "2006-01-02 15:04:05"  inDate := "2020-02-06T17:21:06+08:00"
func DateRFCChange(format, dateFormat, inDate string) string {
    t1, e := time.Parse(
        format,
        inDate)
    if e != nil {
        fmt.Println(e)
    }
    return t1.Format(dateFormat)
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文