• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

gojson返回时间字符串处理time.Time类型

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
golang 时间出现 -62135596800 问题(解决方案)
Golang json转换时间格式问题Golang json转换时间格式问题
go 实际开发中 time.Time类型 提供是字符串, 而很多场景中需要对请求的接口再次处理,将go json化后的字符串转成time.Time类型
go程序 将时间转换成json 时 会默认把时间转换为RFC3339 格式

2018-01-14T21:45:54+08:00

先来看看time包中对格式的常量定义

const (
    ANSIC       = "Mon Jan _2 15:04:05 2006"
    UnixDate    = "Mon Jan _2 15:04:05 MST 2006"
    RubyDate    = "Mon Jan 02 15:04:05 -0700 2006"
    RFC822      = "02 Jan 06 15:04 MST"
    RFC822Z     = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
    RFC850      = "Monday, 02-Jan-06 15:04:05 MST"
    RFC1123     = "Mon, 02 Jan 2006 15:04:05 MST"
    RFC1123Z    = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
    RFC3339     = "2006-01-02T15:04:05Z07:00"
    RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
    Kitchen     = "3:04PM"
    // Handy time stamps.
    Stamp      = "Jan _2 15:04:05"
    StampMilli = "Jan _2 15:04:05.000"
    StampMicro = "Jan _2 15:04:05.000000"
    StampNano  = "Jan _2 15:04:05.000000000"
)

切入正题
怎么样把这个时间

2018-01-14T21:45:54+08:00

转换为

2018-01-14 21:45:54

其实琢磨了一下方法还是很简单

str:="2018-01-14T21:45:54+08:00"
//先将时间转换为字符串

tt,_:=time.Parse("2006-01-02T15:04:05Z07:00",str)

//格式化时间
fmt.Println(tt.Format("2006-01-02 15:04:05"))

就可以得到自己想要的时间了

time.Parse()的layout参数 就是上面常量定义的 RFC3339
如果其他格式 也只要复制对应的layout 就可以了

tt.Format()

是将时间按照 自定义的方式 进行个格式化
这里的 2006-01-02 15:04:05 一定不能变


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap