获取当前时间的年、月、日、时、分、秒的方法如下:
// 获取当前时间
now := time.Now()
// 当前时间的年、月、日、小时、分钟、秒和纳秒都可以通过现有接口直接获取
year := now.Year()
month := now.Month()
day := now.Day()
hour := now.Hour()
minute := now.Minute()
second := now.Second()
nanosecond := now.Nanosecond()
// 当前时间的微秒和毫秒是通过纳秒计算生成
microsecond := nanosecond / 1e3
millisecond := nanosecond / 1e6
fmt.Println(now.Format("2006-01-02 15:04:05.000000000"))
fmt.Println(year, month, day, hour, minute, second, nanosecond, microsecond, millisecond)
运行结果如下:
# 当前时间格式输出
2022-06-09 19:25:52.022598620
2022 June 9 19 25 52 22598620 22598 22
获取从1970到现在经过的时间的方法如下:
// 获取从1970经过的时间,秒和纳秒都可以通过现有接口直接获取
sec := now.Unix() // 时间戳位数为10
ms := now.UnixMilli() // 时间戳位数为13
us := now.UnixMicro() // 时间戳位数为16
ns := now.UnixNano() // 时间戳位数为19
fmt.Printf("sec:%v
ms:%v
us:%v
ns:%v
", sec, ms, us, ns)
运行结果如下:
# 1970经过的时间格式输出
sec:1654773952
ms:1654773952022
us:1654773952022598
ns:1654773952022598620
时间间隔格式化输出方法:
// 时间间隔返回的是time.Duration,下面以1h1m1s1ms1us1ns的时间间隔举例,测试各种格式的打印效果
duration := 1*time.Hour + 1*time.Minute + 1*time.Secon

本文介绍了Golang中time包的使用,包括获取当前时间的详细信息、计算从1970至今的时间、时间间隔的格式化输出。建议在需要精确到纳秒时使用%v,若要输出毫秒或秒,可以采用%.3f或%d。文章还提醒注意时间单位统一,提供相关代码示例,并分享了作者的从业经验。
最低0.47元/天 解锁文章
3849

被折叠的 条评论
为什么被折叠?



