Home  >  Article  >  Backend Development  >  How to use time and date in Go?

How to use time and date in Go?

王林
王林Original
2023-05-10 17:55:531956browse

Go is a fast programming language with many useful built-in libraries. In actual development work, the processing of time and date is crucial. Go provides powerful time and date processing functions, allowing developers to easily calculate and process time and dates. This article will introduce how to use time and date in Go.

Basics of time and date

In Go, time and date are represented by variables of type time.Time. This type contains information such as year, month, day, hour, minute, second and time zone. The usual way to create it is to call the time.Now() function, which will return a time.Time type variable of the current time.

t := time.Now()
fmt.Println(t)

Formatted output of time and date

In Go, we can control the output format of time.Time type variables through the format string. For example:

t := time.Now()
fmt.Println(t.Format("2006-01-02 15:04:05"))

Among them, 2006, 01, 02, 15, 04, and 05 are special numbers. They represent the year, month, day, hour, minute, and second respectively. This was decided by Go language founder Ken Thompson when he designed the time library. He believed that this would reduce errors caused by time formatting.

In addition to these special numbers, the format string can also contain other characters, such as spaces, hyphens, colons, etc.

Addition and subtraction calculation of time and date

In Go, we can use the Add() and Sub() functions to add and subtract time and date.

t1 := time.Now()
t2 := t1.Add(1 * time.Hour)
t3 := t1.AddDate(1, 0, 0)    // 将t1加1年
t4 := t1.Sub(t2)
fmt.Println(t1)
fmt.Println(t2)
fmt.Println(t3)
fmt.Println(t4)

In the above code, t2 represents the time after t1 plus 1 hour, t3 represents the time after t1 plus 1 year, and t4 represents the time difference between t2 and t1.

Comparison of time and date

In Go, we can use the Before(), Equal() and After() functions to compare the order of two times and dates.

t1 := time.Now()
t2 := t1.Add(1 * time.Hour)
fmt.Println(t1.Before(t2))
fmt.Println(t1.Equal(t2))
fmt.Println(t1.After(t2))

In the above code, the Before() function returns true to indicate that t1 is before t2, the Equal() function returns true to indicate that t1 and t2 are equal, and the After() function returns true to indicate that t1 is after t2.

Unix timestamp

In computer science, Unix timestamp (unix timestamp) refers to all the seconds from 00:00:00 on January 1, 1970 to the current time. That is, how many seconds since now. In Go, we can use the Unix() function to convert a time.Time type variable into an int64 type Unix timestamp.

t := time.Now()
unixTime := t.Unix()
fmt.Println(unixTime)

In addition to the Unix() function, Go also provides the UnixNano() function, which can convert time to all nanoseconds from 00:00:00 on January 1, 1970 to the current time.

Summary

The processing of time and date is very important. In Go, we can use the built-in time library to easily calculate and process time and date. This article introduces the basics of using time and date in Go, including formatted output of time and date, addition and subtraction calculations, comparisons, and Unix timestamps. Developers can flexibly use these functions according to their own needs to improve development efficiency.

The above is the detailed content of How to use time and date in Go?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:golang is not equal toNext article:golang is not equal to