使用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()函数。