Home  >  Article  >  Backend Development  >  How to do time conversion in Golang

How to do time conversion in Golang

PHPz
PHPzOriginal
2023-03-22 16:31:502311browse

Golang is a very popular programming language and its time processing function is very powerful. In this post, I will introduce how to do time conversion in Golang.

First, we need to understand the time type in Golang. There are two time types in Golang: time.Time and time.Duration. time.Time represents a specific point in time, and time.Duration represents a time period.

We can use the time.Parse function to convert the string to the time.Time type. For example, the following code will convert the string "2022-01-01 00:00:00" to the time.Time type:

str := "2022-01-01 00:00:00"
layout := "2006-01-02 15:04:05"
t, err := time.Parse(layout, str)
if err != nil {
    fmt.Println(err)
    return
}

In the above code, layout is the date format string, which Specifies how to convert a string to a time. In Golang, the date format string must be in a specific format and consist of fixed characters. For example, 2006 represents the year, 01 represents the month, 02 represents the date, 15 represents the hour, 04 represents the minute, and 05 represents the second.

Next, we can use the time.Format function to convert the time.Time type to a string. For example, the following code will convert a variable t of type time.Time into a string:

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

In addition to date formatting strings, Golang also provides some other functions for time conversion. For example, a value of type time.Duration represents a time period. We can convert the string to time.Duration type using time.ParseDuration function. For example, the following code will convert the string "1h30m" to the time.Duration type:

str := "1h30m"
duration, err := time.ParseDuration(str)
if err != nil {
    fmt.Println(err)
    return
}

Finally, we can use various functions provided by the time package to operate on time. For example, we can use the time.Add function to calculate the time after a point in time. For example, the following code will calculate the time 3 hours after the current time:

duration := 3 * time.Hour
t := time.Now().Add(duration)

Time conversion in Golang is very simple. We can easily convert time from one format to another just by using the functions of the time package. Hope this article can help you deal with time in Golang.

The above is the detailed content of How to do time conversion in Golang. 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