如何使用Go语言中的时间函数获取当前时间并格式化输出?

使用Go语言中的时间函数获取当前时间并格式化输出

在Go语言中,可以使用time包中的函数来获取当前的时间信息。time包中提供了许多方法来操作时间和日期,包括获取当前时间、解析时间字符串、计算两个时间的差值、格式化时间等。本文将介绍如何使用Go语言中的时间函数获取当前时间并格式化输出。

1. 获取当前时间

在Go语言中,可以使用time.Now()函数获取当前时间。

package main

import (

"fmt"

"time"

)

func main() {

now := time.Now()

fmt.Println(now)

}

在上面的代码中,time.Now()函数返回一个Time类型的值now。该值包含当前的日期和时间信息,形式为年月日时分秒纳秒。

输出结果为:

2021-07-23 14:15:16.273879817 +0800 CST m=+0.000263520

其中,+0800 CST表示当前时区为东八区。

2. 格式化输出时间

在Go语言中,可以使用time.Format()函数对时间进行格式化,将其转换为指定的字符串。

time.Format()函数的参数是一个字符串,该字符串用特殊的方式表示时间的格式。常用的格式化字符包括:

字符 含义
2006 年份
01 月份(有前导零)
1 月份(无前导零)
02 日期(有前导零)
2 日期(无前导零)
03 小时(24小时制,有前导零)
3 小时(24小时制,无前导零)
04 分钟(有前导零)
4 分钟(无前导零)
05 秒(有前导零)
5 秒(无前导零)
.000 纳秒
PM 上午/下午
Z07:00 时区

使用time.Format()函数将时间按照指定格式输出:

package main

import (

"fmt"

"time"

)

func main() {

now := time.Now()

str := now.Format("2006-01-02 15:04:05")

fmt.Println(str)

}

在上面的代码中,将时间按照"2006-01-02 15:04:05"的格式输出。

输出结果为:

2021-07-23 14:15:16

3. 获取某个时间点的时间

在Go语言中,可以使用time.Date()函数获取指定时间点的时间。

time.Date()函数的参数依次为:年、月、日、时、分、秒、纳秒、时区。

package main

import (

"fmt"

"time"

)

func main() {

t := time.Date(2021, time.August, 8, 8, 8, 8, 8, time.UTC)

str := t.Format("2006-01-02 15:04:05")

fmt.Println(str)

}

在上面的代码中,使用time.Date()函数创建一个时间点,然后将其按照指定格式输出。

输出结果为:

2021-08-08 08:08:08

4. 获取时间戳

在Go语言中,可以使用time.Now().Unix()函数获取当前时间的时间戳,也可以使用time.Unix()函数将时间戳转换为对应的时间。

package main

import (

"fmt"

"time"

)

func main() {

now := time.Now().Unix()

fmt.Println(now)

t := time.Unix(now, 0)

fmt.Println(t)

}

在上面的代码中,使用time.Now().Unix()函数获取当前时间的时间戳,再使用time.Unix()函数将时间戳转换为对应的时间,然后将其输出。

输出结果为:

1627032741

2021-07-23 14:25:41 +0800 CST

总结

以上就是使用Go语言中的时间函数获取当前时间并格式化输出的方法。通过time.Now()函数可以获取当前时间,通过time.Format()函数可以将时间按照指定格式输出,通过time.Date()函数可以获取指定时间点的时间,通过time.Now().Unix()函数可以获取当前时间的时间戳。

时间戳是一个很有用的工具,可以通过时间戳计算时间的差值,比如计算两个时间点之间相差的天数、小时数、分钟数等。

需要注意的是,Go语言中的时间函数默认使用的是UTC时区,如果需要使用本地时区可以使用time.Now().Local()函数。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签