将时间格式转换成字符串格式:
Format()方法
package main
import (
"fmt"
"time"
)
func main() {
t1 := time.Now()
fmt.Println(t1) // 2021-12-24 16:46:07.5344049 +0800 CST m=+0.001560401
fmt.Printf("类型:%T\n", t1) // 类型:time.Time
//转换成string类型
/*
t1.Format("格式模板")-->string
模板的日期必须是固定:06-1-2-3-4-5,纪念go语言诞生
*/
s1 := t1.Format("2006-1-2 15:04:05")
fmt.Println(s1) // 2021-12-24 16:46:07
s2 := t1.Format("2006/1/2")
fmt.Println(s2) // 2021/12/24
}
将字符串时间转换成时间类型:
Parse()方法
package main
import (
"fmt"
"time"
)
func main() {
//string转换成time.Time类型
/*
time.Parse("模板", str)-->time,err
*/
s1 := "1998-10-03" // string
t1, err := time.Parse("2006-01-02", s1)
if err != nil {
fmt.Println("err:", err)
}
fmt.Println(t1) // 1998-10-03 00:00:00 +0000 UTC
fmt.Printf("类型:%T\n", t1) // 类型:time.Time
}
其他函数:
package main
import (
"fmt"
"time"
)
func main() {
t1 := time.Now()
fmt.Println(t1) // 2021-12-24 17:15:50.2481729 +0800 CST m=+60.001021101
// 获取年月日
year, month, day := t1.Date()
fmt.Println(year, month, day) // 2021 December 24
// 时分秒
hour, min, sec := t1.Clock()
fmt.Println(hour, min, sec) // 17 14 51
fmt.Println(t1.Year()) // 2021
fmt.Println(t1.Month()) // December
fmt.Println(t1.Day()) // 24
fmt.Println(t1.Hour()) // 17
fmt.Println(t1.Minute()) // 14
fmt.Println(t1.Second()) // 51
fmt.Println(t1.Nanosecond()) // 248172900
fmt.Println(t1.Weekday()) // Friday
// 时间间隔
t2 := t1.Add(time.Minute)
fmt.Println(t2) // 2021-12-24 17:15:51.2481729 +0800 CST m=+60.001021101
d1 := t2.Sub(t1)
fmt.Println(d1) // 1m0s
}