Golang json转换时间格式
在开发中,将时间转换成json时,默认是把时间转换为 RFC3339 格式
2018-01-14T21:45:54+08:00
这个貌似是GO的诞生的时间
先来看看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
一定不能变
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通