您的位置:首页 > 技术中心 > 其他 >

golang 日期转换

时间:2023-05-22 03:12

Golang 日期转换

在 Golang 中,日期的表示方式有多种,包括 time.Time、string、int64 等。因此,如何对这些日期进行转换是一个常见的问题。

本文将介绍 Golang 中日期转换的常见方法。主要包括以下几个方面:

  1. time.Time 转 string
  2. string 转 time.Time
  3. int64 转 time.Time
  4. time.Time 转 int64
  5. 其他格式的日期转换
  6. time.Time 转 string

time.Time 类型可以使用 Format 函数将其转换成字符串。例如:

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

其中,Format 的参数是日期格式化字符串,具体格式可以参考 Golang 的文档。

  1. string 转 time.Time

string 转 time.Time 可以使用 time.Parse 函数。例如:

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

其中,第一个参数是日期格式化字符串,第二个参数是需要解析的字符串。如果解析失败,err 不为空。

  1. int64 转 time.Time

在 Golang 中,时间戳通常以 int64 类型表示,可以使用 time.Unix 函数将其转换成 time.Time 类型。例如:

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

其中,第一个参数是时间戳,第二个参数是纳秒,可以设置为 0。

  1. time.Time 转 int64

time.Time 类型可以使用 Unix 函数将其转换成时间戳。例如:

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

该函数返回的是 int64 类型的时间戳。

  1. 其他格式的日期转换

如果需要将其他格式的日期转换成 time.Time 类型,可以先将其转换成 string 类型,再使用 time.Parse 函数解析。例如:

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 {    // 解析失败}

以上就是 Golang 中日期转换的常见方法。无论是将 time.Time 转换成 string,还是将 string 转换成 time.Time,都可以通过 Golang 标准库中的函数进行转换。对于其他格式的日期,可以先将其转换成 string 类型,再使用 time.Parse 函数解析。

以上就是golang 日期转换的详细内容,更多请关注Gxl网其它相关文章!

本类排行

今日推荐

热门手游