Go语言时间包time中的可用函数和方法 定义 总结和使用示例
Go语言的time
包提供了时间的操作函数。以下是一些常用的函数和方法:
time.Now()
: 返回当前的时间。time.Sleep(d Duration)
: 使当前的goroutine暂停执行指定的时间。time.Tick(d Duration)
: 返回一个通道,通道会每隔dDuration就发送一个当前时间。time.After(d Duration)
: 返回一个通道,在dDuration后发送当前时间。time.Parse(layout, string)
: 解析一个时间字符串到Time类型。time.Date(year int, month Month, day, hour, min, sec, nsec int, loc *Location)
: 返回指定位置的时间。time.Since(t Time)
: 返回自t以来经过的时间。time.Until(t Time)
: 返回自t开始到未来的时间。
示例代码:
package main
import (
"fmt"
"time"
)
func main() {
// 获取当前时间
now := time.Now()
fmt.Println("Current Time:", now)
// 暂停执行
time.Sleep(2 * time.Second)
fmt.Println("After sleeping for 2 seconds")
// 每隔一秒钟打印一次时间
ticker := time.Tick(1 * time.Second)
go func() {
for _ = range ticker {
fmt.Println("Tick:", time.Now())
}
}()
// 2秒后打印时间
after := time.After(2 * time.Second)
fmt.Println("After 2 seconds:", <-after)
// 解析时间字符串
layout := "2006-01-02 15:04:05"
t, _ := time.Parse(layout, "2023-04-05 15:04:05")
fmt.Println("Parsed Time:", t)
// 创建并打印指定时间
t2 := time.Date(2023, time.April, 5, 15, 4, 5, 0, time.UTC)
fmt.Println("Specified Time:", t2)
// 计算时间差
then := time.Now()
time.Sleep(1000 * time.Millisecond)
fmt.Println("Time since then:", time.Since(then))
// 计算未来时间
fmt.Println("Time until 5 seconds:", time.Until(now.Add(5*time.Second)))
}
这段代码展示了如何使用Go语言的time
包中的函数和方法。
评论已关闭