23
12月
2021
获取当前时间戳
timeUnix:=time.Now().Unix() //单位s,打印结果:1491888244
timeUnixNano:=time.Now().UnixNano() //单位纳秒,打印结果:1491888244752784461
获取日期
timeStr:=time.Now().Format("2006-01-02 15:04:05") //当前时间的字符串,2006-01-02 15:04:05据说是golang的诞生时间,固定写法
fmt.Println(timeStr) //打印结果:2017-04-11 13:24:04
相互转化
//时间戳转时间字符串 (int64 —> string)
timeUnix:=time.Now().Unix() //已知的时间戳
formatTimeStr:=time.Unix(timeUnix,0).Format("2006-01-02 15:04:05")
fmt.Println(formatTimeStr) //打印结果:2017-04-11 13:30:39
//2) 时间字符串转时间(string —> Time)
formatTimeStr="2017-04-11 13:33:37"
formatTime,err:=time.Parse("2006-01-02 15:04:05",formatTimeStr)
formatTime,err:=time.ParseInLocation("2006-01-02 15:04:05",formatTimeStr,time.Local)
//未指定时区的情况下Parse会以UTC为主,而format会以当前时区 这是一个坑
if err==nil{
fmt.Println(formatTime) //打印结果:2017-04-11 13:33:37 +0000 UTC
fmt.Println(formatTime.Unix())//转成时间戳
}
获取当前时间指定字段
t1:=time.Now().Year() //年
t2:=time.Now().Month() //月
t3:=time.Now().Day() //日
t4:=time.Now().Hour() //小时
t5:=time.Now().Minute() //分钟
t6:=time.Now().Second() //秒
t7:=time.Now().Nanosecond() //纳秒