来源:https://github.com/xg-wang/gobyexample/tree/master/examples
package main
import (
"fmt"
"time"
)
func main() {
p := fmt.Println
//得到当前时间
now := time.Now()
p(now)
//通过提供年月日等信息,你可以构建一个`time`。时间总是关联着位置信息,例如时区
then := time.Date(2009, 11, 17, 20, 34, 58, 651387237, time.UTC)
p(then)
//可以提取出时间的各个组成部分
p(then.Year())
p(then.Month())
p(then.Day())
p(then.Hour())
p(then.Minute())
p(then.Second())
p(then.Nanosecond())
p(then.Location())
//输出是星期一到日的`Weekday`也是支持的
p(then.Weekday())
//这些方法来比较两个时间,分别测试一下是否是之前,之后或者是同一时刻,精确到秒
p(then.Before(now))
p(then.After(now))
p(then.Equal(now))
//方法`Sub`返回一个`Duration`来表示两个时间点的间隔时间
diff := now.Sub(then)
p(diff)
//计算出不同单位下的时间长度值
p(diff.Hours())
p(diff.Minutes())
p(diff.Seconds())
p(diff.Nanoseconds())
//你可以使用`Add` 将时间后移一个时间间隔,或者使用一个`-`来将时间前移一个时间间隔
p(then.Add(diff))
p(then.Add(-diff))
}
输出结果:
2018-11-01 10:36:57.7641798 +0800 CST m=+0.006014801
2009-11-17 20:34:58.651387237 +0000 UTC
2009
November
17
20
34
58
651387237
UTC
Tuesday
true
false
false
78486h1m59.112792563s
78486.03308688682
4.709161985213209e+06
2.8254971911279255e+08
282549719112792563
2018-11-01 02:36:57.7641798 +0000 UTC
2000-12-04 14:32:59.538594674 +0000 UTC