golang獲取當(dāng)前時間、時間戳和時間字符串及它們之間的相互轉(zhuǎn)換

獲取當(dāng)前時間,類型是Go的時間類型Time

(1)

 currentTime:=time.Now()     //

(2)


    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) //獲取當(dāng)前時間,返回當(dāng)前時間Time     
     fmt.Println(currentTime)       //打印結(jié)果:2017-04-11 12:52:52.794351777 +0800 CST
     fmt.Println(t1,t2,t3,t4,t5,t6)     //打印結(jié)果:2017 April 11 12 52 52
     fmt.Println(currentTimeData)    //打印結(jié)果:2017-04-11 12:52:52.794411287 +0800 CST

說明:從打印結(jié)果可以看出,time.Now()和Date()方法都可以獲取當(dāng)前時間,time.Now()用起來比較簡單,但是Date()可以獲取不同的精確值,如time.Date(t1,t2,t3,t4,t5,t6,0,time.Local)將毫秒省略,精確到秒,結(jié)果為:2017-04-11 12:52:52 +0800 CST

2、獲取當(dāng)前時間戳

     timeUnixNano:=time.Now().UnixNano()  //單位納秒,打印結(jié)果:1491888244752784461

3、獲取當(dāng)前時間的字符串格式

    ``` timeStr:=time.Now().Format("2006-01-02 15:04:05")  //當(dāng)前時間的字符串,2006-01-02 15:04:05據(jù)說是golang的誕生時間,固定寫法
     fmt.Println(timeStr)    //打印結(jié)果:2017-04-11 13:24:04


#4、它們之間的相互轉(zhuǎn)化

##1) 時間戳轉(zhuǎn)時間字符串 (int64 —>  string)

  ```  timeUnix:=time.Now().Unix()   //已知的時間戳
        formatTimeStr:=time.Unix(timeUnix,0).Format("2006-01-02 15:04:05")
        fmt.Println(formatTimeStr)   //打印結(jié)果:2017-04-11 13:30:39

2) 時間字符串轉(zhuǎn)時間(string —> Time)

    formatTime,err:=time.Parse("2006-01-02 15:04:05",formatTimeStr)
    if err==nil{
      fmt.Println(formatTime) //打印結(jié)果:2017-04-11 13:33:37 +0000 UTC
   }

3) 時間字符串轉(zhuǎn)時間戳 (string —> int64)

    比上面多一步,formatTime.Unix()即可
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容