golang 创建time

发布时间:2024-07-02 21:03:37

在Golang中,time包是进行时间操作的核心包之一。它提供了时间和时间段的基本功能,可以用于获取当前时间、获取时间戳、进行时间格式化和解析等操作。本文将介绍Golang中time包的具体用法和常见应用场景。

获取当前时间

Golang的time包提供了Now函数来获取当前时间。Now函数返回一个Time类型的值,表示当前的本地时间。例如:

package main

import (
	"fmt"
	"time"
)

func main() {
	now := time.Now()
	fmt.Println(now)
}

上述代码中,首先导入了time包,并调用Now函数获取当前时间,然后使用fmt包的Println函数来打印输出结果。运行该程序会输出当前的本地时间,例如:

2022-09-25 18:30:15.123456789 +0800 CST m=+0.000123456

获取时间戳

时间戳是指某一时刻的相对于1970年1月1日00:00:00 UTC的秒数。Golang的time包提供了Unix和UnixNano函数来获取时间戳。

以下是示例代码:

package main

import (
	"fmt"
	"time"
)

func main() {
	now := time.Now()
	timestamp := now.Unix()
	fmt.Println(timestamp)

	nanoseconds := now.UnixNano()
	fmt.Println(nanoseconds)
}

运行上述代码会输出当前时间的时间戳和纳秒级时间戳,例如:

1666010155
1666010155123456789

时间格式化和解析

Golang的time包还提供了Format和Parse函数来进行时间格式化和解析。

Format函数可以将一个Time类型的值按照指定的格式转换为字符串。常用的格式包括:

以下是示例代码:

package main

import (
	"fmt"
	"time"
)

func main() {
	now := time.Now()
	
	formattedTime := now.Format("2006-01-02 15:04:05")
	fmt.Println(formattedTime)

	parsedTime, _ := time.Parse("2006-01-02 15:04:05", formattedTime)
	fmt.Println(parsedTime)
}

上述代码中,首先获取当前时间now,然后使用Format函数将当前时间按照指定格式转换为字符串。接着使用Parse函数将字符串转换回Time类型的值,并打印输出结果。运行该程序会输出当前时间的格式化结果和解析结果,例如:

2022-09-25 18:30:15
2022-09-25 18:30:15 +0000 UTC

本文介绍了Golang中time包的基本用法和常见应用场景,包括获取当前时间、获取时间戳以及时间格式化和解析等操作。通过对time包的学习和应用,可以更好地处理时间相关的问题和需求。

相关推荐