Home  >  Article  >  Backend Development  >  golang date conversion

golang date conversion

王林
王林Original
2023-05-21 14:16:071118browse

Golang date conversion

In Golang, there are many ways to represent dates, including time.Time, string, int64, etc. Therefore, how to convert these dates is a common question.

This article will introduce common methods of date conversion in Golang. It mainly includes the following aspects:

  1. time.Time to string
  2. string to time.Time
  3. int64 to time.Time
  4. time .Time to int64
  5. Date conversion in other formats
  6. time.Time to string

The time.Time type can be converted into a string using the Format function. For example:

t := time.Now()
str := t.Format("2006-01-02 15:04:05") // 以指定格式转换为字符串

Among them, the parameter of Format is a date format string. For the specific format, please refer to the Golang documentation.

  1. Convert string to time.Time

To convert string to time.Time, you can use the time.Parse function. For example:

str := "2022-03-25 10:30:00"
t, err := time.Parse("2006-01-02 15:04:05", str) // 将字符串解析成时间
if err != nil {
    // 解析失败
}

The first parameter is the date format string, and the second parameter is the string that needs to be parsed. If parsing fails, err is not empty.

  1. int64 to time.Time

In Golang, timestamp is usually represented by int64 type, which can be converted to time.Time type using time.Unix function. For example:

timestamp := int64(1648238400)
t := time.Unix(timestamp, 0) // 将时间戳转换成时间

The first parameter is the timestamp, and the second parameter is nanoseconds, which can be set to 0.

  1. time.Time to int64

The time.Time type can be converted to a timestamp using Unix functions. For example:

t := time.Now()
timestamp := t.Unix() // 将时间转换成时间戳

This function returns a timestamp of type int64.

  1. Date conversion in other formats

If you need to convert dates in other formats into the time.Time type, you can first convert them into the string type and then use time. Parse function parsing. For example:

date := "2022年03月25日 10时30分00秒"
layout := "2006年01月02日 15时04分05秒" // 对应日期格式字符串
str, err := time.Parse(layout, date) // 先将其转换成字符串
if err != nil {
    // 解析失败
}
t, err := time.Parse("2006-01-02 15:04:05", str.Format("2006-01-02 15:04:05")) // 再解析成时间
if err != nil {
    // 解析失败
}

The above are common methods of date conversion in Golang. Whether you are converting time.Time to string, or converting string to time.Time, you can convert it through the functions in the Golang standard library. For dates in other formats, you can first convert them to string type and then use the time.Parse function to parse them.

The above is the detailed content of golang date conversion. 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