golang package time

time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。
import “time”

type Ticker struct {
    C <-chan Time // 周期性传递时间信息的通道
    // 内含隐藏或非导出字段
}

Ticker保管一个通道,并每隔一段时间向其传递"tick"。

func NewTicker(d Duration) *Ticker

NewTicker返回一个新的Ticker,该Ticker包含一个通道字段,并会每隔时间段d就向该通道发送当时的时间。它会调整时间间隔或者丢弃tick信息以适应反应慢的接收者。如果d<=0会panic。关闭该Ticker可以释放相关资源。

package main
 
import (
	"fmt"
	"time"
)
 
func main() {
	futureTimer := time.NewTicker(5 * time.Second)
	defer futureTimer.Stop()
 
	for {
		select {
		case <-futureTimer.C:
			fmt.Println("Hello!")
		}
	}
}

运行结果: 每个5秒打印一次
Hello!
Hello!
Hello!


func Now() Time

Now返回当前本地时间。

func Since(t Time) Duration

Since返回从t到现在经过的时间,等价于time.Now().Sub(t)。

package main

import (
	"fmt"
	"time"
)

func main() {
	start := time.Now()
	fmt.Printf("Import done in %v.\n\n", time.Since(start))
}

运行结果:
Import done in 105ns.

你可能感兴趣的:(go)