首頁 >後端開發 >Golang >go語言time套件的一些使用方法

go語言time套件的一些使用方法

尚
轉載
2019-11-27 15:31:252761瀏覽

go語言time套件的一些使用方法

Go的time套件是標準函式庫中的套件之一

不用說,幾乎是開發必須用到的套件之一。 time包的說明文檔在:(推薦:go視頻教程

http://golang.org/pkg/time/

看看godoc文檔,最大的資料型態就是Time了,這個Time型別最微小可以表示到nanosecond(微毫秒,十億份之一秒)。

go語言time套件的一些使用方法

Time的比較是使用Before,After和Equal方法。看一眼After:

func (t Time) After(u Time) bool

很好,回傳的是bool型,是我們所需要的。

Sub方法回傳的是兩個時間點之間的時間距離,看上圖看到它回傳的是Duration結構,這個結構的具體型別與運算也在godoc

# Add方法和Sub方法是相反的,取得t0和t1的時間距離d是使用Sub,將t0加d取得t1就是使用Add方法 

IsZero方法:Time的zero時間點是January 1, year 1, 00:00:00 UTC,這個函數判斷一個時間是否為zero時間點

Local,UTC,Ln是用來顯示和計算地區時間的。

下面從幾個需求直接看time的使用

#1 請打出目前時間的時間戳,然後將時間戳格式為年月日時分秒的形式

package main
 
import (
    "fmt"
    "time"
)
 
func main() {
    //时间戳
    t := time.Now().Unix()
    fmt.Println(t)
     
    //时间戳到具体显示的转化
    fmt.Println(time.Unix(t, 0).String())
     
    //带纳秒的时间戳
    t = time.Now().UnixNano()
    fmt.Println(t)
    fmt.Println("------------------")
     
    //基本格式化的时间表示
    fmt.Println(time.Now().String())
     
    fmt.Println(time.Now().Format("2006year 01month 02day"))
 
}

顯示:

go語言time套件的一些使用方法

#特別是Format這個函數,可以好好使用

2 輸出目前星期幾?

package main
 
import (
    "fmt"
    "time"
)
 
func main() {
    //时间戳
    t := time.Now()
    fmt.Println(t.Weekday().String())
 
}

go語言time套件的一些使用方法

文件中對這個Weekday型別就沒有說明!!沒法,直接看程式碼可以看到:

go語言time套件的一些使用方法

Weekday有一個String()方法

好了,看到這裡外帶我們有一個推測:

當一個結構中有定義String()函數的時候,fmt.Println()是會呼叫String的

範例如下:

package main
 
import (
    "fmt"
)
 
type MyStruct struct{
}
 
func (d MyStruct)String() string {return "mystruct"}
 
func main() {
    me := new(MyStruct)
    fmt.Println(me)
 
}

go語言time套件的一些使用方法

更多go知識請關注 go語言教學專欄。

以上是go語言time套件的一些使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除