golang 转换为timestamp

发布时间:2024-07-07 18:15:32

在日常的开发中,我们经常会遇到需要将时间戳转换为可读的时间格式的需求。而在Golang中,提供了一些方便的方法来进行时间戳的转换。本文将介绍如何在Golang中进行时间戳的转换。

使用time.Unix()方法转换

Golang中提供了一个time包,其中的Unix()方法可以将时间戳转换为本地时间。该方法接受两个参数,第一个参数是int64类型的秒数,第二个参数是int64类型的纳秒数。

下面是一个示例代码:

package main

import (
    "fmt"
    "time"
)

func main() {
    timestamp := int64(1622286983)
    t := time.Unix(timestamp, 0)
    fmt.Println(t)
}

在上述代码中,我们首先定义了一个时间戳timestamp,然后使用time.Unix()方法将其转换为本地时间,并输出结果。

使用time.Format()方法转换

除了使用time.Unix()方法进行时间戳的转换外,Golang中还提供了time.Format()方法用于将时间转换为指定格式的字符串。该方法接受一个字符串作为参数,该字符串定义了时间的展示方式。

下面是一个示例代码:

package main

import (
    "fmt"
    "time"
)

func main() {
    timestamp := int64(1622286983)
    t := time.Unix(timestamp, 0)
    formattedTime := t.Format("2006-01-02 15:04:05")
    fmt.Println(formattedTime)
}

在上述代码中,我们首先定义了一个时间戳timestamp,然后使用time.Unix()方法将其转换为本地时间。接着,使用time.Format()方法将时间转换为指定格式的字符串,并输出结果。

使用time.Parse()方法转换

除了将时间戳转换为时间格式字符串外,Golang中还提供了将时间格式字符串转换为时间的方法,即time.Parse()方法。该方法接受两个参数,第一个参数是字符串,表示时间的格式,第二个参数是待转换的时间字符串。

下面是一个示例代码:

package main

import (
    "fmt"
    "time"
)

func main() {
    layout := "2006-01-02 15:04:05"
    str := "2021-05-30 10:23:45"
    t, _ := time.Parse(layout, str)
    timestamp := t.Unix()
    fmt.Println(timestamp)
}

在上述代码中,我们首先定义了两个变量layout和str,分别表示时间的格式和待转换的时间字符串。然后,使用time.Parse()方法将时间字符串转换为时间。最后,使用t.Unix()方法将时间转换为时间戳,并输出结果。

通过以上三种方法,我们可以方便地在Golang中进行时间戳的转换,从而满足日常开发中的各种需求。无论是将时间戳转换为可读的时间格式,还是将时间格式字符串转换为时间,Golang都提供了简洁易用的方法。

相关推荐