Home  >  Article  >  Backend Development  >  Some usage methods of go language time package

Some usage methods of go language time package

尚
forward
2019-11-27 15:31:252695browse

Some usage methods of go language time package

Go's time package is one of the packages in the standard library

Needless to say, it is almost one of the packages that must be used for development. The documentation for the time package is at: (Recommended: go video tutorial)

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

Look at the godoc document, the maximum The data type is Time. This Time type can be expressed as small as nanosecond (micromillisecond, one billionth of a second).

Some usage methods of go language time package

Time comparison uses Before, After and Equal methods. Take a look at After:

func (t Time) After(u Time) bool

is good, it returns the bool type, which is what we need.

The Sub method returns the time distance between two time points. Looking at the picture above, you can see that it returns a Duration structure. The specific type and operation of this structure are also in godoc

The Add method and the Sub method are opposite. To obtain the time distance d between t0 and t1, use Sub. To add d to t0 to obtain t1, use the Add method

IsZero method: The zero time point of Time is January 1, year 1, 00:00:00 UTC, this function determines whether a time is zero time point

Local, UTC, and Ln are used to display and calculate regional time.

The following is a direct look at the use of time from several requirements

1 Please type the timestamp of the current time, and then put the timestamp The format is in the form of year, month, day, hour, minute and second.

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"))
 
}

Display:

Some usage methods of go language time package

##Especially the Format function, you can use it well

2 Output the current day of the week?

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

Some usage methods of go language time package

There is no description of this Weekday type in the document!! No way, you can see it directly by looking at the code:

Some usage methods of go language time package

Weekday has a String() method

Okay, after seeing this, we have a guess:

When a String() function is defined in a structure When, fmt.Println() will call String

The example is as follows:

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

Some usage methods of go language time package

For more go knowledge, please pay attention

go language tutorial column.

The above is the detailed content of Some usage methods of go language time package. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete