介绍Duration类型,表达时间区间的概念,在int64和Duration之间相互转换,它表达纳秒的结果,并且Go没有定义小时以上的单位类型。
假设一个月31天,那么转换为Duration的结果如下。
monthDuration, err := time.ParseDuration("744h")
if err != nil {
t.Fatalf("error: %v", err)
}
t.Logf("ns: %d", int64(monthDuration))
从数据库中读取出来日期的字段如果是yyyy-mm-dd H:i:s的类型,可以将其直接转换成time类型
parsedTime, _ := time.Parse("2006-01-02 15:04:05", "2017-09-17 22:54:00")
t.Logf("%v", parsedTime)
判断时间的边界,比如计算一个月内活跃的用户.
userLastUpdateTime, err := time.Parse("2006-01-02 15:04:05", db.UpdateTime)
monthDuration, err := time.ParseDuration("744h")
uptime.Add(monthDuration).After(time.Now())
计算函数处理的时间
go func(){
startTime := time.Now()
defer func(){
endTime := time.Now().Sub(startTime).String()
}()
}()