網頁

2022/1/31

Golang time.Now()回傳的時間字串後綴的m=+是什麼?

Go time.Now()取得的時間在印出時後面的m=+是monotonic clocks(單調時間)。


time.Now()印出的時間有兩種:一是wall clock(時鐘時間)為日常生活的時間;一是monotonic clock為某一時間點開始起算的時間,這某一時間點通常為系統啟動時。

例如下面啟動程式時先用time.Sleep()暫停3秒,然後印出time.Now(),可看到後面的m=+為接近3秒,也就是說系統啟動到執行time.Now()經過了3秒。

package main

import (
    "fmt"
    "time"
)

func main() {
    time.Sleep(time.Second * 3) // sleep 3 seconds
    t := time.Now()
    fmt.Println(t) // 2022-02-01 14:45:46.682923 +0800 CST m=+3.005444833
}


沒有留言:

張貼留言