📅  最后修改于: 2023-12-03 15:15:25.104000             🧑  作者: Mango
在Go语言中,时间操作是非常重要的,Go语言提供了一个time包来实现日期和时间的的处理。
Go语言中有两种时间类型:
Go语言中的时间表达式使用基于RFC3339标准的固定格式:“2006-01-02T15:04:05Z07:00”。
具体解释如下:
我们可以使用 time.Duration 类型来表示一段时间段。时间段可以是负数,常用的单位有:“ns”(纳秒)、“us”(微秒)、“ms”(毫秒)、“s”(秒)、“m”(分)、“h”(小时)。
计算时间也非常简单,可以对 Time 类型进行加减计算。
func main() {
loc, _ := time.LoadLocation("Local")
t := time.Date(2022, time.January, 1, 0, 0, 0, 0, loc)
// 添加5分30秒
t = t.Add(time.Minute * 5 + time.Second * 30)
// 减去1小时
t = t.Add(-time.Hour)
fmt.Println(t.Format("2006-01-02 15:04:05"))
}
输出结果为:“2021-12-31 23:05:30”。
时间格式化可以使用 Time.Format 方法来实现。在格式化时间的时候,可以使用一些特定的占位符,如下:
func main() {
loc, _ := time.LoadLocation("Local")
t := time.Date(2022, time.January, 1, 10, 30, 0, 0, loc)
fmt.Println(t.Format("2006-01-02 15:04:05"))
fmt.Println(t.Format(time.ANSIC))
fmt.Println(t.Format("Mon Jan _2 15:04:05 2006"))
fmt.Println(t.Format("2006-01-02T15:04:05.999999-07:00"))
}
输出结果为:
2022-01-01 10:30:00
Sat Jan 1 10:30:00 2022
Sat Jan 1 10:30:00 2022
2022-01-01T10:30:00.000000-08:00