解决Golang结构体json的时间格式化


本文摘自php中文网,作者藏色散人,侵删。

下面由Golang语言教程栏目给大家介绍Golang结构体json的时间格式化解决办法,希望对需要的朋友有所帮助!

1

2

3

今天开发的过程中遇到一个问题,数据库内有个日期字段(类型:date)查询出来后会是

2021-01-01T20:08:23.000000028+08:00 这种格式,而我只要2021-01-01,

下面列出解决办法

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

// 定义个类型别名

type JsonTime time.Time

// 实现它的json序列化方法

func (this JsonTime) MarshalJSON() ([]byte, error) {

    var stamp = fmt.Sprintf("\"%s\"", time.Time(this).Format("2006-01-02")) // Format内即是你想转换的格式

    return []byte(stamp), nil

}

 

// 我们存储数据的结构体类型设置为上边的别名

type Workday struct {

   Id int

   Date JsonTime

}

 

数据获取好后直接解析就可以了

d1, _ := json.Marshal(work.Date)

fmt.Printf( "%s",d1)

现在d1 就是Y-m-d格式了

以上就是解决Golang结构体json的时间格式化的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

go 自定义error错误

go 内存模型 并发可见性

结合kubebuilder与code-generator开发operator

go 项目开发过程中的管理规范

golang 实现 rsa 的加密解密

golang不支持泛型吗?

golang实现数组模拟环形队列

总结 go 的数据类型

golang如何打包在linux上部署

利用go实现快看漫画网页版自动点击“下一话”,中间无需手动操作,但有一点疑惑,望大佬们解答。

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...