GO?中的time?格式化時,很變態使用的是一個準確的時間字符串,有人說這是Go產生的時間
2006-01-02 15:04:05 。必須按照這個串格式化,才能正確。
go?中的毫秒數據,都是取得納秒后計算獲取,沒有java?的方便
以下是GO?中?經常使用的?時間類型,根據標準庫整理。在此非常感謝標準庫的翻譯。
https://studygolang.com/pkgdoc
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println("當前時間字符串 time.Now() =", time.Now())
fmt.Println("當前時間秒 time.Now().Unix() =", time.Now().Unix())
fmt.Println("當前時間納秒 time.Now().UnixNano() = ", time.Now().UnixNano())
fmt.Println("當前時間毫秒 time.Now().UnixNano()/1e6 = ", time.Now().UnixNano()/1e6)
fmt.Println("當前時間秒 time.Now().UnixNano/1e9 = ", time.Now().UnixNano()/1e9)
fmt.Println("當前時間格式化 time.Now.Format('2006-01-02 15:04:05')", time.Now().Format("2006-01-02 15:04:05"))
fmt.Println("format", time.Now().Format("2006-01-03 15:04:05"))
str_time := time.Unix(time.Now().Unix(), 0).Format("2006-01-02 15:04:05")
fmt.Println("timestamp->string", str_time)
the_time, err := time.Parse("2006-01-02 15:04:05", str_time)
if err == nil {
unix_time := the_time.Unix()
fmt.Println("str->timestamp", unix_time)
}
fmt.Println("當前月中的第幾日 ", time.Now().Day())
fmt.Println("當前年中的第幾日 ", time.Now().YearDay())
fmt.Println("一周中的周幾 ", time.Now().Weekday())
seconds := 10
fmt.Println("時間段 10s ", time.Duration(seconds)*time.Second)
fmt.Println("當前時間添加 12 小時", time.Now().Add(time.Duration(12)*time.Hour))
t1 := time.Now()
time.Sleep(time.Second)
fmt.Println("兩個時間點相減 time.Sub", time.Now().Sub(t1))
fmt.Println("time location", time.Now().Location())
fmt.Println("time Second:", time.Now().Second())
fmt.Println("time string", time.Now().String())
name, offset := time.Now().Zone()
fmt.Println(" 時區信息 name,offset = ", name, " ", offset)
//time round
t := time.Now()
round := []time.Duration{
time.Nanosecond,
time.Microsecond,
time.Millisecond,
time.Second,
time.Minute,
time.Hour,
}
for _, d := range round {
fmt.Printf("t.Round(%s) = %s \n", d, t.Round(d))
}
}
源代碼可以參見: