时间:
func main() {// 获取当前时间now := time.Now()fmt.Println("当前时间:", now)// 获取年月日时分秒fmt.Println("年:", now.Year())fmt.Println("月:", int(now.Month())) // 不转int是英文的月份fmt.Println("日:", now.Day())fmt.Println("时:", now.Hour())fmt.Println("分:", now.Minute())fmt.Println("秒:", now.Second())fmt.Println("1000毫秒:", time.Millisecond*1000)fmt.Println("星期几:", int(now.Weekday())) // 不转int是英文的星期数fmt.Println("一年中的第几天:", now.YearDay())fmt.Println("时区:", now.Location())fmt.Println("返回当天的第几小时:", now.Hour())fmt.Println("返回当天的第几分钟:", now.Minute())fmt.Println("返回当天的第多少秒:", now.Second())fmt.Println("返回当天的第多少纳秒:", now.Nanosecond())// 可以使用Sleeptime.Sleep(time.Millisecond * 2000)// 时间戳,时间戳是1970/1/1 0:00 到现在的秒数fmt.Println("秒时间戳,返回整数:", now.Unix())fmt.Println("纳秒时间戳,返回整数:", now.UnixNano())
}
输出:
当前时间: 2022-12-19 11:34:19.952263 +0800 CST m=+0.000142042
年: 2022
月: 12
日: 19
时: 11
分: 34
秒: 19
1000毫秒: 1s
星期几: 1
一年中的第几天: 353
时区: Local
返回当天的第几小时: 11
返回当天的第几分钟: 34
返回当天的第多少秒: 19
返回当天的第多少纳秒: 952263000
秒时间戳,返回整数: 1671420859
纳秒时间戳,返回整数: 1671420859952263000
格式化日期:
func main() {now := time.Now()// 格式化日期时间fmt.Printf("当前时间: %d-%d-%d %d:%d:%d\n", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second())// 也可以赋值给变量,再处理date := fmt.Sprintf("当前时间: %d-%d-%d %d:%d:%d", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second())fmt.Println(date)// 使用Format格式化fmt.Println("年月日时分秒:", now.Format("2006/01/02 15:04:05")) // 当前时间fmt.Println("年月日时分:", now.Format("2006/01/02 15:04"))fmt.Println("年月日时:", now.Format("2006/01/02 15"))fmt.Println("年月日:", now.Format("2006-01-02"))fmt.Println("时分秒", now.Format("15:03:04"))fmt.Println("年", now.Format("2006"))fmt.Println("月", now.Format("01"))fmt.Println("日", now.Format("02"))fmt.Println("时", now.Format("15"))fmt.Println("分", now.Format("03"))fmt.Println("秒", now.Format("00")) // 这个00就不属于"2006/01/02 15:04:05"字符串中的了,就不会解析,按照00输出// 时间只能是"2006/01/02 15:04:05"fmt.Println("当前时间:", now.Format("YYYY/mm/dd"))
}
输出:
当前时间: 2022-12-19 11:38:11
当前时间: 2022-12-19 11:38:11
年月日时分秒: 2022/12/19 11:38:11
年月日时分: 2022/12/19 11:38
年月日时: 2022/12/19 11
年月日: 2022-12-19
时分秒 11:11:38
年 2022
月 12
日 19
时 11
分 11
秒 00
当前时间: YYYY/mm/dd
时间戳格式转换:
func main() {now := time.Now()nowDate := "2006-01-02 15:04:05"t := time.Unix(now.Unix(), 0) // sec:秒 nsec:纳秒fmt.Println(t.Format(nowDate))
}
计算函数执行时间:
func dateTest() {startTime := time.Now()sum := 0for i := 0; i < 10000000000; i++ {sum++}// Sub方法让两个时间点相减,生成一个Duration类型值(代表时间段)elapsedTime := time.Now().Sub(startTime)//Since返回从t到现在经过的时间,等价于time.Now().Sub(t)。//elapsedTime := time.Since(start)fmt.Println("耗时:", elapsedTime) // 3.278499042s
}
每隔0.1秒打印一个数字,打印到50结束
func main() {i := 0for {i++fmt.Println(i)time.Sleep(time.Millisecond * 50)if i == 50 {break}}
}