golang的time包:时间间隔格式化和秒、毫秒、纳秒等时间戳格式输出的方法

获取当前时间的年、月、日、时、分、秒的方法如下:

	// 获取当前时间
	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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值