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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章