话不多说,上代码
package mainimport ("fmt""time"
)func main() {now := time.Now() //获取当前时间year := now.Year() //年month := now.Month() //月day := now.Day() //日hour := now.Hour() //小时minute := now.Minute() //分钟second := now.Second() //秒fmt.Printf("%d-%02d-%02d %02d:%02d:%02d\n", year, month, day, hour, minute, second)timestamp1 := now.Unix() //时间戳timestamp2 := now.UnixNano() //纳秒时间戳fmt.Printf("%v,%v\n", timestamp1, timestamp2)timeObj := time.Unix(timestamp1, 0) //将时间戳转为时间格式fmt.Println(timeObj)year2 := timeObj.Year() //年month2 := timeObj.Month() //月day2 := timeObj.Day() //日hour2 := timeObj.Hour() //小时minute2 := timeObj.Minute() //分钟second2 := timeObj.Second() //秒fmt.Printf("%d-%02d-%02d %02d:%02d:%02d\n", year2, month2, day2, hour2, minute2, second2)later := now.Add(time.Hour) // 当前时间加1小时后的时间fmt.Println(later)//计算时间差 相当于计时器time.Sleep(time.Second)now2 := time.Now()interval := now.Sub(now2)fmt.Println(interval)isEqual := now.Equal(now2) //比较两个时间是否相同fmt.Println(isEqual)isBefor := now.Before(now2) //判断是否在之前isAfter := now.After(now2) //判断是否在之后fmt.Println(isBefor, isAfter)//定时器实现 每秒执行一次// ticker := time.Tick(time.Second)// for i := range ticker {// fmt.Println(i)// }//时间格式化// 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"))fmt.Println(now.Format("2006-01-02"))// 加载时区loc, err := time.LoadLocation("Asia/Shanghai")if err != nil {fmt.Println(err)return}// 按照指定时区和指定格式解析字符串时间timeObj2, err := time.ParseInLocation("2006/01/02 15:04:05", "2019/08/04 14:15:20", loc)if err != nil {fmt.Println(err)return}fmt.Println(timeObj2)fmt.Println(timeObj2.Sub(now))}