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

找一个时间库来用就行

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

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

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

这样试试呢

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,但是应该大同小异。

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

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