package main
import (
"fmt"
"strconv"
"time"
)
func main() {
// 获取当前时间
now := time.Now()
fmt.Println(time.Now())
// 通过now获取年月日,分时秒
fmt.Printf("年:%v\n", now.Year())
fmt.Printf("月:%v\n", int(now.Month()))
fmt.Printf("日:%v\n", now.Day())
fmt.Printf("时:%v\n", now.Hour())
fmt.Printf("分:%v\n", now.Minute())
fmt.Printf("秒:%v\n", now.Second())
// 格式化时间第一种方式
fmt.Printf("%d-%d-%d %d:%d:%d\n", now.Year(),
now.Month(), now.Day(), now.Hour(),
now.Minute(), now.Second())
// 格式化时间第二种方式
fmt.Println(now.Format("2006-01-02 15:04:05"))
fmt.Println(now.Format("2006-01-02")) //日期
fmt.Println(now.Format("15:04:05"))
// 时间常量
// const (
// Nanosecond Duration = 1 //纳秒
// Microsecond = 1000 * Nanosecond //微妙
// Millisecond = 1000 * Microsecond //毫秒
// Second = 1000 * Millisecond //秒
// Minute = 60 * Second //分
// Hour = 60 * Minute //时
// )
// time的Unix和UnixNano的方法
// 1970到现在经历了多少秒(秒时间戳)
fmt.Println(now.Unix())
// 1970年到现在经历了多少纳秒(纳秒时间戳)
fmt.Println(now.UnixNano())
// 计算代码执行时间(必须time.Now().Unix 如果将time.Now()实例化则开始时间和结束时间一致)
startime := time.Now().Unix()
fmt.Println(startime)
func() {
str := ""
for i := 0; i < 100000; i++ {
str += "hello" + strconv.Itoa(i)
}
}()
stoptime := time.Now().Unix()
fmt.Println(stoptime)
fmt.Println("函数执行时间为:", int(stoptime-startime))
}