📅  最后修改于: 2023-12-03 15:23:08.972000             🧑  作者: Mango
Golang 自带了操作时间的标准库 time
,可以方便地获取当前日期和时间。本文将介绍如何在 Golang 中使用本地和其他时区中的时间戳获取当前日期和时间。
获取本地时间戳非常简单,可以使用 time.Now()
函数获取当前时间,然后调用 Unix()
方法获取时间戳,如下所示:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
timestamp := now.Unix()
fmt.Println(timestamp)
}
输出结果类似于:
1587314628
如果要获取其他时区的时间戳,可以使用 time.LoadLocation()
函数加载时区,然后使用 time.Now()
函数获取指定时区的时间,最后调用 Unix()
方法获取时间戳,如下所示:
package main
import (
"fmt"
"time"
)
func main() {
location, err := time.LoadLocation("America/New_York")
if err != nil {
panic(err)
}
now := time.Now().In(location)
timestamp := now.Unix()
fmt.Println(timestamp)
}
输出结果类似于:
1587300224
如果要获取日期和时间,可以使用 time.Now()
函数获取当前时间,然后使用 Format()
方法格式化为指定的日期和时间格式,如下所示:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
year, month, day := now.Date()
hour, minute, second := now.Clock()
dateStr := fmt.Sprintf("%d-%02d-%02d", year, month, day)
timeStr := fmt.Sprintf("%02d:%02d:%02d", hour, minute, second)
fmt.Println(dateStr)
fmt.Println(timeStr)
}
输出结果类似于:
2020-04-19
15:10:33
如果要获取其他时区的日期和时间,可以使用 time.LoadLocation()
函数加载时区,然后使用 time.Now()
函数获取指定时区的时间,最后使用 Format()
方法格式化为指定的日期和时间格式,如下所示:
package main
import (
"fmt"
"time"
)
func main() {
location, err := time.LoadLocation("America/New_York")
if err != nil {
panic(err)
}
now := time.Now().In(location)
year, month, day := now.Date()
hour, minute, second := now.Clock()
dateStr := fmt.Sprintf("%d-%02d-%02d", year, month, day)
timeStr := fmt.Sprintf("%02d:%02d:%02d", hour, minute, second)
fmt.Println(dateStr)
fmt.Println(timeStr)
}
输出结果类似于:
2020-04-19
15:10:33
以上就是在 Golang 中使用本地和其他时区中的时间戳获取当前日期和时间的方法。