time类型 和 时间戳 的转换
timestamp := time.Now().Unix() //timestamp为时间戳类型 tm := time.Unix(timestamp, 0) //tm为Time类型
时间戳或time类型 转 字符串(格式化)
tm := time.Now() //tm为Time类型
timestamp := time.Now().Unix() //timestamp为时间戳类型
time.Now().String() //没有格式化
fmt.Println(tm.Format("2006-01-02 03:04:05 PM")) //格式化
fmt.Println(tm.Format("02/01/2006 15:04:05 PM")) //24小时制
也可以直接输出 fmt.Println(time.Now()) output:2017-02-27 01:20:00.567634365 +0800 CST
指定时间的time类型 time.Date(2017, 02, 27, 20, 20, 20, 20, time.Local)
字符串 转 time类型或时间戳
x := "2017-02-27 17:30:20"
p, _ := time.Parse("2006-01-02 15:04:05", x) //p为time类型
p.Unix() //p.Unix()为时间戳类型
time ticker
func main() {
ticker := time.NewTicker(10 * time.Second)
for i := 0; i < 10; i++ {
time := <-ticker.C
fmt.Println(time.String())
}
}
输出:
2015-08-24 16:22:23.590564088 +0800 CST
2015-08-24 16:22:33.591194618 +0800 CST
2015-08-24 16:22:43.587720967 +0800 CST
2015-08-24 16:22:53.590231413 +0800 CST
2015-08-24 16:23:03.591164202 +0800 CST
ticket是一个只读的chanel。
go和其他语言的开发思路不一样。其他语言,多是注册回调函数,定时,时间到了调用回调。go是 通过 chan的阻塞实现的。
调用的地方,读取chan 。定时,时间到,向chan写入值,阻塞解除,调用函数。
Duration
"持续时间" https://studygolang.com/articles/12617
更多
package time https://studygolang.com/pkgdoc
来源:https://blog.csdn.net/chushoufengli/article/details/99693425