Go语言通过time包提供时间处理功能,使用time.Now()获取当前时间,Format方法按“2006-01-02 15:04:05”格式化输出,Parse解析时间字符串,支持时区、时间计算、比较及Sleep、Ticker等定时操作。

Go语言通过time包提供了强大的日期和时间处理能力。无论是获取当前时间、格式化输出、解析字符串,还是进行时间计算,time包都能简洁高效地完成。
获取当前时间
使用time.Now()可以获取当前的本地时间,返回一个time.Time类型的值。
now := time.Now()fmt.Println(now) // 输出类似:2024-05-10 14:30:22.123456 +0800 CST m=+0.000000001
你还可以单独获取年、月、日、小时等信息:
fmt.Println(now.Year()) // 年fmt.Println(now.Month()) // 月(time.Month 类型)fmt.Println(now.Day()) // 日fmt.Println(now.Hour()) // 小时fmt.Println(now.Weekday()) // 星期几
格式化时间输出
Go 的时间格式化不使用Y-m-d H:i:s这类占位符,而是使用固定的参考时间:
立即学习“go语言免费学习笔记(深入)”;
2006-01-02 15:04:05(这是 Go 语言的“魔数”格式)
fmt.Println(now.Format("2006-01-02 15:04:05"))fmt.Println(now.Format("2006/01/02"))fmt.Println(now.Format("15:04:05"))fmt.Println(now.Format(time.RFC3339)) // 内建常量,输出如:2024-05-10T14:30:22+08:00
常用格式示例:
"2006-01-02" → 日期"15:04:05" → 时间"2006-01-02 15:04:05" → 完整时间time.Kitchen → 12小时制时间(如:1:30PM)
解析时间字符串
使用time.Parse()将字符串转换为time.Time类型,第一个参数是格式模板,第二个是待解析的字符串。
Pic Copilot
AI时代的顶级电商设计师,轻松打造爆款产品图片
158 查看详情
t, err := time.Parse("2006-01-02 15:04:05", "2024-05-10 10:00:00")if err != nil { log.Fatal(err)}fmt.Println(t)
如果字符串包含时区,建议使用time.ParseInLocation()指定位置:
loc, _ := time.LoadLocation("Asia/Shanghai")t, _ := time.ParseInLocation("2006-01-02 15:04:05", "2024-05-10 10:00:00", loc)
时间计算与比较
time.Time支持加减、比较和间隔计算。
加时间:now.Add(2 * time.Hour)减时间:now.Add(-30 * time.Minute)计算差值:duration := t2.Sub(t1)判断先后:t1.Before(t2)、t1.After(t2)、t1.Equal(t2)
常见时间单位:
time.Secondtime.Minutetime.Hourtime.Millisecondtime.Microsecondtime.Nanosecond
定时与休眠
使用time.Sleep()让程序暂停执行:
fmt.Println("开始")time.Sleep(2 * time.Second)fmt.Println("2秒后")
使用time.Ticker实现周期性任务:
ticker := time.NewTicker(1 * time.Second)go func() { for t := range ticker.C { fmt.Println("每秒执行一次:", t) }}()// 别忘了在适当时候停止:ticker.Stop()
基本上就这些。Go 的 time 包设计直观,只要记住那个“2006-01-02 15:04:05”的格式模板,处理时间就很轻松了。
以上就是Golang如何使用time处理日期时间的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1111101.html
微信扫一扫
支付宝扫一扫