#获取当前时间
now := time.Now()
fmt.Printf("current time:%v\n", now)
year := now.Year() //年
month := now.Month() //月
day := now.Day() //日
hour := now.Hour() //小时
minute := now.Minute() //分钟
second := now.Second() //秒
now.Unix() //时间戳
now.UnixNano() //时间戳
fmt.Printf("%d-%02d-%02d %02d:%02d:%02d\n", year, month, day, hour, minute, second)
时间戳转时间
//时间戳转时间,[秒时间戳][纳秒时间戳]
unix := time.Unix(1624601480, 0)
fmt.Println(unix.Format("2006-01-02 15:04:05"))
字符串转时间
//字符串转时间
parseTime, _ := time.Parse("2006-01-02 15:04:05", "2021-01-25 10:06:45")
parseLocalTime, _ := time.ParseInLocation("2006-01-02 15:04:05", "2021-01-25 10:06:45", time.Local)
fmt.Println(parseTime, parseLocalTime)
获取当前是星期几
fmt.Println(now.Weekday().String())
时间计算
now = now.Add(time.Hour) //加1小时,如果为负数,就是减1小时
sub := now.Sub(unix) //计算时间差值
fmt.Println(sub)
//Equal , Before , After
定时器
ticker := time.Tick(time.Second) //定义一个1秒间隔的定时器
for i := range ticker {
fmt.Println(i) //每秒都会执行的任务
}
格式化
// 格式化的模板为Go的出生时间2006年1月2号15点04分 Mon Jan
// 24小时制
fmt.Println(now.Format("2006-01-02 15:04:05.000 Mon Jan"))
// 12小时制
fmt.Println(now.Format("2006-01-02 03:04:05.000 PM Mon Jan"))
fmt.Println(now.Format("2006/01/02 15:04"))
fmt.Println(now.Format("15:04 2006/01/02"))
fmt.Println(now.Format("2006/01/02"))