go 语言之time标准库

time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。

package main

import (
	"fmt"
	"time"
)

//时间
func main() {
	now := time.Now()
	fmt.Println(now)
	fmt.Println(now.Date())
	fmt.Println(now.Year())
	fmt.Println(now.Month())
	fmt.Println(now.Day())
	fmt.Println(now.Hour())
	fmt.Println(now.Minute())
	fmt.Println(now.Second())

	//时间戳
	fmt.Println(now.Unix())
	fmt.Println(now.UnixNano())

	// time.Unix()
	ret := time.Unix(2312, 0)
	fmt.Println(ret)
	fmt.Println(ret.Year())
	fmt.Println(ret.Day())

	//时间间隔
	fmt.Println(time.Second)
	// now+1小时
	fmt.Println(now.Add(24 * time.Hour))
	//Sub两个时间相减
	nextYear, err := time.Parse("2006-01-02 15:04:05 ", "2022-01-20 00:18:00")
	if err != nil {
		fmt.Printf("parse time failed ,err:%v\n", err)
		return
	}
	// now = now.UTC()
	// nextYear = nextYear.UTC()
	d := now.Sub(nextYear)
	d1 := nextYear.Sub(now)
	fmt.Println(d)
	fmt.Println(d1)

	//定时器
	timer := time.Tick(time.Second)
	for t := range timer {
		fmt.Println(t)
	}
	//格式化时间 把语言中事件对象转换成字符串类型的时间
	//2022-01-19
	fmt.Println(now.Format("2006-01-02"))
	//2022-01-19 11:55:02
	fmt.Println(now.Format("2006-01-02 15:02:05"))
	//2022-01-19 11:55:02 AM
	fmt.Println(now.Format("2006-01-02 03:04:05 PM"))
	//2022-01-19 11:55:02.342
	fmt.Println(now.Format("2006-01-02 15:02:05.000"))
	//按照对应的格式解析字符串类型的时间
	timeObj, err := time.Parse("2006-01-02", "2022-01-19")
	if err != nil {
		fmt.Printf("parse time failed ,err:%v\n", err)
		return
	}
	fmt.Println(timeObj)
	fmt.Println(timeObj.Unix())

	//Sleep
	n := 5 //int
	fmt.Println("开始sleep")
	time.Sleep(time.Duration(n) * time.Second)
	fmt.Println("5秒钟过去")
	// time.Sleep(5 * time.Second)
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值