欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang時間及時間戳的獲取轉換超全面詳細講解

 更新時間:2022年12月16日 11:44:42   作者:Dorgan  
說實話,golang的時間轉化還是很麻煩的,最起碼比php麻煩很多,下面這篇文章主要給大家介紹了關于golang時間/時間戳的獲取與轉換的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

獲取時間

獲取當前時間

package main
import (
        "fmt"
        "time"
)
func main() {
   currentTime := time.Now()                  //當前時間
   currentYear := time.Now().Year()        //當前年
   currentMonth := time.Now().Month()       //當前月
   currentDay := time.Now().Day()         //當前日
   currentHour := time.Now().Hour()        //當前小時小時
   currentMinute := time.Now().Minute()      //當前分鐘
   currentSecond := time.Now().Second()      //當前秒
   currentNSecond := time.Now().Nanosecond()  //當前納秒
   //打印結果
   fmt.Println("當前時間是:", currentTime)
   fmt.Println("當前年:", currentYear)
   fmt.Println("當前月:", currentMonth)
   fmt.Println("當前日:", currentDay)
   fmt.Println("當前小時:", currentHour)
   fmt.Println("當前分鐘:", currentMinute)
   fmt.Println("當前秒:", currentSecond)
   fmt.Println("當前納秒:", currentNSecond)

結果輸出

當前時間是: 2022-04-22 16:42:44.1160954 +0800 CST m=+0.004795301
當前年: 2022
當前月: April
當前日: 22
當前小時: 16
當前分鐘: 42
當前秒: 44
當前納秒: 150022700

獲取之前/之后的時間

獲取1分鐘之前的時間戳

package main
import (
    "fmt"
    "time"
)
func main() {
    currentTime := time.Now()
    m, _ := time.ParseDuration("-1m")
    result := currentTime.Add(m)
    fmt.Println(result)
}

說明

  • time.ParseDuration 將傳入的"-1m"轉換為“持續(xù)時間”類型(time.Duration),輸出為-0h1m0s
  • 之后Add() 可對其和時間進行計算

結果輸出

2022-04-22 16:43:20.9844622 +0800 CST m=-59.994691699

獲取一小時之前的時間

方法同上,持續(xù)時間可如下轉換:time.ParseDuration(“-1h”)

package main
import (
    "fmt"
    "time"
)
func main() {
    currentTime := time.Now()
    m, _ := time.ParseDuration("-1h")
    result := currentTime.Add(m)
    fmt.Println(result)
}

結果輸出

2022-04-22 15:47:01.9977133 +0800 CST m=-3599.992986699

獲取1小時后的時間

方法同上,持續(xù)時間可如下轉換:ime.ParseDuration(“1h”)

package main
import (
    "fmt"
    "time"
)
func main() {
    currentTime := time.Now()
    m, _ := time.ParseDuration("1h")
    result := currentTime.Add(m)
    fmt.Println(result)
}

結果輸出

2022-04-22 17:50:58.3395738 +0800 CST m=+3600.004424801

獲時間戳

獲取當前時間戳

package main
import (
    "fmt"
    "time"
)
func main() {
    fmt.Printf("時間戳(秒):%v;\n", time.Now().Unix())
    fmt.Printf("時間戳(納秒):%v;\n",time.Now().UnixNano())
    fmt.Printf("時間戳(毫秒):%v;\n",time.Now().UnixNano() / 1e6)
    fmt.Printf("時間戳(納秒轉換為秒):%v;\n",time.Now().UnixNano() / 1e9)
}

輸出結果

時間戳(秒):1650617834;

時間戳(納秒):1650617834110539400;

時間戳(毫秒):1650617834110;

時間戳(納秒轉換為秒):1650617834;

時間轉時間戳

package main
import (
    "fmt"
    "time"
)
func main() {
    timeStamp := time.Date(2022, 5, 20, 13, 14, 0, 0, time.Local).Unix()
    fmt.Println("時間轉時間戳:",timeStamp)
}

結果輸出

時間轉時間戳: 1653023640

時間戳轉時間

package main
import (
    "fmt"
    "time"
)
func main() {
    timeStr := time.Unix(1650617834, 0)
    fmt.Println(timeStr)
}

結果輸出

2022-04-22 16:57:14 +0800 CST

按模板格式化輸出

注意:模板格式里的時間不能隨意更改

package main
import (
    "fmt"
    "time"
)
func main() {
    timeLayout := "2006-01-02 15:04:05"
    timeStr := time.Unix(1653023640, 0).Format(timeLayout)
    fmt.Println(timeStr)
}

結果輸出

2022-05-20 13:14:00

題外話:獲取當前時間的年月日時分秒的拼接(月日等補足到兩位)

now := time.Now()
nowSecond := strconv.Itoa(now.Year()) + fmt.Sprintf("%02d", now.Month()) + fmt.Sprintf("%02d", now.Day()) + fmt.Sprintf("%02d", now.Hour()) + fmt.Sprintf("%02d", now.Minute()) + fmt.Sprintf("%02d", now.Second())

結果輸出

20221209103544

到此這篇關于Golang時間及時間戳的獲取轉換超全面詳細講解的文章就介紹到這了,更多相關Golang時間戳內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • golang grpc 負載均衡的方法

    golang grpc 負載均衡的方法

    這篇文章主要介紹了golang grpc 負載均衡的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • go語言標準庫fmt包的一鍵入門

    go語言標準庫fmt包的一鍵入門

    這篇文章主要為大家介紹了go語言標準庫fmt包的一鍵入門使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • GO實現(xiàn)文件上傳操作

    GO實現(xiàn)文件上傳操作

    這篇文章主要為大家詳細介紹了GO實現(xiàn)文件上傳操作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Golang的select多路復用及channel使用操作

    Golang的select多路復用及channel使用操作

    這篇文章主要介紹了Golang的select多路復用及channel使用操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Golang?Time包與日期函數(shù)的用法詳解

    Golang?Time包與日期函數(shù)的用法詳解

    在golang中,time包提供了時間的顯示和測量用的函數(shù),下面小編就來和大家詳細聊聊Golang中Time包與日期函數(shù)的具體用法,快跟隨小編一起學習一下吧
    2023-07-07
  • golang panic及處理機制

    golang panic及處理機制

    Go語言追求簡潔優(yōu)雅,所以,Go語言不支持傳統(tǒng)的 try…catch…finally 這種異常,因為Go語言的設計者們認為,將異常與控制結構混在一起會很容易使得代碼變得混亂,今天給大家介紹golang panic及處理機制,需要的朋友參考下吧
    2021-08-08
  • Go語言中錯誤處理實例分析

    Go語言中錯誤處理實例分析

    這篇文章主要介紹了Go語言中錯誤處理,實例分析了Go語言中針對錯誤處理的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • go新工具gonew生成模板工具鏈使用詳解

    go新工具gonew生成模板工具鏈使用詳解

    這篇文章主要為大家介紹了go新工具gonew生成模板工具鏈使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • 使用Go進行單元測試的實現(xiàn)

    使用Go進行單元測試的實現(xiàn)

    這篇文章主要介紹了使用Go進行單元測試的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • go語言中fallthrough的用法說明

    go語言中fallthrough的用法說明

    這篇文章主要介紹了go語言中fallthrough的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05

最新評論