您可以将股票行情显示的开始时间延迟到将近5秒钟:
fiveSec := int64(5 * time.Second)time.Sleep(time.Duration(fiveSec - (time.Now().UnixNano() % fiveSec)))ticker := time.NewTicker(time.Second * 5)
或者使用Time方法获得正确延迟的另一种方法:
time.Sleep(time.Now().Truncate(5 * time.Second).Add(5 * time.Second).Sub(time.Now()))解决方法
我正在尝试开始一个time.Ticker偶数时间戳。基本上我想要的是这段代码:
package mainimport ( 'fmt' 'time')func main() { ticker := time.NewTicker(time.Second * 5) for i := 0; i < 2; i++ {select {case <-ticker.C: fmt.Println('Time: ',time.Now().Round(time.Second*1))} } ticker.Stop()}
要始终每隔5秒打印一次:
Time: 2015-10-21 12:53:50 -0600 MDTTime: 2015-10-21 12:53:55 -0600 MDT
是否有一个优雅的解决方案?