Go如何把时间转为ymdhis格式

环境:go1.14 + beego1.12 + mysql5.7

我通过beego的orm查询一张表,这张表的创建时间字段:

`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

我的模型结构体如下:

type Post struct {
   Id         int
  Status     int8
  IsTop      int8
  Created    time.Time
  Updated    time.Time
}

然后查出的结果是:

Go如何把时间转为ymdhis格式

在这里已经定义了Created是time.Time类型了,然后我定义了一个切片list

list := []*models.Post

然后去查MySQL:

c.o.QueryTable(new(models.Post).TableName())..All(&list, "Id", "IsTop", "Created")

这个时候list就会有数据了,只是里面的时间是time.Time类型,我是把list传到v层的,需要转换为普通的ymdhis格式

能不能更方便的去掉”+0800 CST”这些?

讨论数量: 29

找一个时间库来用就行

1年前 评论
deatil (作者) 1年前
bluememory (楼主) 1年前
deatil (作者) 1年前
bluememory (楼主) 1年前
deatil (作者) 1年前
bluememory (楼主) 1年前
deatil (作者) 1年前
deatil (作者) 1年前
bluememory (楼主) 1年前
deatil (作者) 1年前
bluememory (楼主) 1年前
deatil (作者) 1年前
bluememory (楼主) 1年前
deatil (作者) 1年前
deatil (作者) 1年前
deatil (作者) 1年前
bluememory (楼主) 1年前
deatil (作者) 1年前
bluememory (楼主) 1年前
deatil (作者) 1年前
fenglin 1年前
bluememory (楼主) 1年前

gitee.com/golang-module/carbon 轻量级、语义化、对开发者友好的 golang 时间处理库

1年前 评论
bluememory (楼主) 1年前

这样试试呢

package main

import (
    "fmt"
    "time"
)

type xTime struct {
    time.Time
}

func (t *xTime) String() string {
    return t.Format("2006-01-02 15:04:05")
}

func main() {

    xt := &xTime{time.Now()}

    fmt.Println(xt)
}

然后参考gorm.io/zh_CN/docs/data_types.html
实现自定义类型的Scan和Value方法就行了。


没看是beego,但是应该大同小异。

1年前 评论
bluememory (楼主) 1年前
cevin (作者) 1年前
bluememory (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!