go语言中时间获取及转换

1.查看当前时间

currentTime:=time.Now()     //获取当前时间
year:=time.Now().Year()        //年
month:=time.Now().Month()       //月
day:=time.Now().Day()         //日
hour:=time.Now().Hour()        //小时
mintinue:=time.Now().Minute()      //分钟
second:=time.Now().Second()      //秒
nanoSecond:=time.Now().Nanosecond()  //纳秒
currentTimeData:=time.Date(year,month,day,hour,mintinue,second,nanoSecond,time.Local) //获取当前时间,返回当前时间Time
fmt.Println(currentTime)       //打印结果:2019-11-23 20:46:37.78825956 +0800 CST m=+3.659648864 这个返回是go的时间类型
fmt.Println(year,month,day,hour,mintinue,second,nanoSecond)     //打印结果:2019 November 23 20 48 0 502883406
fmt.Println(currentTimeData)    //打印结果:2019-11-23 20:46:37.788260382 +0800 CST

2. 获取当前时间戳

timeUnix:=time.Now().Unix()            //单位s,打印结果:1574513413
timeUnixNano:=time.Now().UnixNano()    //单位纳秒,打印结果:1574513413267017984
fmt.Println(timeUnix, timeUnixNano)

3.获取当前的字符串格式

format中的字符串不可变,若只想要某一段,只要在format中写想要的格式的那一段即可

timeStr:=time.Now().Format("2006-01-02 15:04:05")  //当前时间的字符串,2006-01-02 15:04:05据说是golang的诞生时间,固定写法
fmt.Println(timeStr)    //打印结果:2019-11-23 20:50:13

4. 时间戳转时间字符串 (int64 —> string

timeUnix:=time.Now().Unix()   //已知的时间戳
formatTimeStr:=time.Unix(timeUnix,0).Format("2006-01-02 15:04:05")
fmt.Println(formatTimeStr)   //打印结果:2019-11-23 21:00:06

5.时间字符串转时间(string —> Time)

formatTimeStr="2019-11-23 21:00:06"
formatTime,err:=time.Parse("2006-01-02 15:04:05",formatTimeStr)
if err==nil{
	fmt.Println(formatTime) //打印结果:2019-11-23 21:00:06 +0000 UTC
}

6. 时间字符串转时间戳 (string —> int64)

formatTimeStr="2019-11-23 21:00:06"
formatTime,err =time.Parse("2006-01-02 15:04:05",formatTimeStr)
if err==nil {
	fmt.Println(formatTime) //打印结果:2019-11-23 21:00:06 +0000 UTC
}
unixTime := formatTime.Unix()
fmt.Println(unixTime) // 1491917617
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章