Golang time 包以及日期函数
发布人:shili8
发布时间:2025-02-28 13:44
阅读次数:0
**Go语言中的时间包**
在 Go语言中,`time` 包提供了用于处理时间和日期的功能。这个包是 Go 标准库的一部分,可以方便地帮助我们进行时间相关的操作。
### 时间类型在 `time` 包中,有一个名为 `Time` 的结构体,它代表了一个具体的时间点。这个结构体包含了年、月、日、小时、分钟和秒等信息。
gotype Time struct { sec int64 // 秒数 nsec int64 // 纳秒数}
### 时间函数`time` 包提供了许多用于操作时间的函数。下面是一些常用的函数:
#### Now()
这个函数返回当前系统时间。
gofunc Now() Time
示例代码:
gopackage mainimport ( "fmt" "time" ) func main() { now := time.Now() fmt.Println(now) }
#### Date()
这个函数返回一个 `Time` 对象,表示指定年月日的时间。
gofunc Date(year int, month Month, day int) Time
示例代码:
gopackage mainimport ( "fmt" "time" ) func main() { date := time.Date(2022,12,25,0,0,0,0, time.UTC) fmt.Println(date) }
#### Parse()
这个函数将一个时间字符串解析为 `Time` 对象。
gofunc Parse(layout string, a ...interface{}) (Time, error)
示例代码:
gopackage mainimport ( "fmt" "time" ) func main() { timeStr := "2022-12-2500:00:00 +0800 CST" date, err := time.Parse(time.RFC3339, timeStr) if err != nil { fmt.Println(err) return } fmt.Println(date) }
#### Format()
这个函数将一个 `Time` 对象格式化为时间字符串。
gofunc (t Time) Format(layout string) string
示例代码:
gopackage mainimport ( "fmt" "time" ) func main() { now := time.Now() fmtStr := now.Format(time.RFC3339) fmt.Println(fmtStr) }
#### Unix()
这个函数将一个 `Time` 对象转换为 Unix 时间戳。
gofunc (t Time) Unix() int64
示例代码:
gopackage mainimport ( "fmt" "time" ) func main() { now := time.Now() unix := now.Unix() fmt.Println(unix) }
#### Add()
这个函数将一个 `Time` 对象加上指定的时间差。
gofunc (t Time) Add(d Duration) Time
示例代码:
gopackage mainimport ( "fmt" "time" ) func main() { now := time.Now() duration :=24 * time.Hour later := now.Add(duration) fmt.Println(later) }
### 日期函数`time` 包提供了许多用于操作日期的函数。下面是一些常用的函数:
#### Today()
这个函数返回当前系统时间的年月日。
gofunc Today() Time
示例代码:
gopackage mainimport ( "fmt" "time" ) func main() { today := time.Today() fmt.Println(today) }
#### Yesterday()
这个函数返回前一天的时间。
gofunc Yesterday() Time
示例代码:
gopackage mainimport ( "fmt" "time" ) func main() { yesterday := time.Yesterday() fmt.Println(yesterday) }
#### Tomorrow()
这个函数返回后一天的时间。
gofunc Tomorrow() Time
示例代码:
gopackage mainimport ( "fmt" "time" ) func main() { tomorrow := time.Tomorrow() fmt.Println(tomorrow) }
### 总结`time` 包提供了许多用于操作时间和日期的函数。这些函数可以方便地帮助我们进行时间相关的操作,例如获取当前系统时间、解析时间字符串、格式化时间等。