Golang获取当前时间代码
golang中时间相关操作,主要是用time包的函数,time中最主要又包含了time.Time这个对象。
1、获取当前时间
(1)currentTime:=time.Now() //获取当前时间,类型是Go的时间类型Time
(2)
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() //纳秒
currentTimeData:=time.Date(t1,t2,t3,t4,t5,t6,t7,time.Local)//获取当前时间,返回当前时间Time
fmt.Println(currentTime) //打印结果:2017-04-1112:52:52.794351777+0800CST
fmt.Println(t1,t2,t3,t4,t5,t6) //打印结果:2017April11125252
fmt.Println(currentTimeData) //打印结果:2017-04-1112:52:52.794411287+0800CST
now:=time.Now().Unix()//获取时间戳
time.Now().UTC()//转换为UTC时间
time.Sleep(10*time.Millisecond)//time的sleep
示例分享:
获取当前时间
funcgetNow(){
//获取当前时间,返回time.Time对象
fmt.Println(time.Now())
//output:2016-07-2708:57:46.53277327+0800CST
//其中CST可视为美国,澳大利亚,古巴或中国的标准时间
//+0800表示比UTC时间快8个小时
//获取当前时间戳
fmt.Println(time.Now().Unix())
//精确到纳秒,通过纳秒就可以计算出毫秒和微妙
fmt.Println(time.Now().UnixNano())
//output:
// 1469581066
// 1469581438172080471
}
格式化时间显示
funcformatUnixTime(){
//获取当前时间,进行格式化
fmt.Println(time.Now().Format("2006-01-0215:04:05"))
//output:2016-07-2708:57:46
//指定的时间进行格式化
fmt.Println(time.Unix(1469579899,0).Format("2006-01-0215:04:05"))
//output:2016-07-2708:38:19
}
获取指定时间戳的年份
funcgetYear(){
//获取指定时间戳的年月日,小时分钟秒
t:=time.Unix(1469579899,0)
fmt.Printf("%d-%d-%d%d:%d:%d\n",t.Year(),t.Month(),t.Day(),t.Hour(),t.Minute(),t.Second())
//output:2016-7-278:38:19
}
时间字符串转换时间戳
//将2016-07-2708:46:15这样的时间字符串转换时间戳
funcstrToUnix(){
//先用time.Parse对时间字符串进行分析,如果正确会得到一个time.Time对象
//后面就可以用time.Time对象的函数Unix进行获取
t2,err:=time.Parse("2006-01-0215:04:05","2016-07-2708:46:15")
iferr!=nil{
log.Fatalln(err)
}
fmt.Println(t2)
fmt.Println(t2.Unix())
//output:
// 2016-07-2708:46:15+0000UTC
// 1469609175
}
根据时间戳获取当日开始的时间戳
//根据时间戳获取当日开始的时间戳
//这个在统计功能中会常常用到
//方法就是通过时间戳取到2016-01-0100:00:00这样的时间格式
//然后再转成时间戳就OK了
//获取月开始时间和年开始时间类似
funcgetDayStartUnix(){
t:=time.Unix(1469581066,0).Format("2006-01-02")
sts,err:=time.Parse("2006-01-02",t)
iferr!=nil{
log.Fatalln(err)
}
fmt.Println(sts.Unix())
//output:1469577600
}
休眠
//休眠
funcsleep(){
//休眠1秒
//time.Millisecond 表示1毫秒
//time.Microsecond 表示1微妙
//time.Nanosecond 表示1纳秒
time.Sleep(1*time.Second)
//休眠100毫秒
time.Sleep(100*time.Millisecond)
}