go源码库学习之time库

本文详细介绍了Go语言1.18.1版本中的time库,包括时间的显示、测量、日期操作、时间差计算、计时器与定时器的使用,以及与纳秒、时区和格式化的交互实例。
// go1.18.1 源码 time 库


package main
// time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。
import (
	"fmt"
	"time"
)

func main()  {
	// 时间操作
	timeMain()
	// 月份操作
	monthMain()
	// 星期操作
	weekdayMain()
	// 整数纳秒操作
	durationMain()
	// 时间和纳秒操作
	timeDurationMain()
	// 计时器
	timeTimerManin()
	// 定时器
	timeTickerMain()
}

// 时间操作
func timeMain()  {
	// 给定位置相应区域的时间,返回 "2022-11-24 11:01:30 +0000 UTC" 格式时间
	t := time.Date(2022,time.November,24,11,1,30,0,time.UTC)
	t1 := time.Date(2021,time.November,24,11,15,30,0,time.UTC)
	t2 := time.Date(2022,time.November,24,11,15,30,0,time.UTC)
	t4 := time.Date(1,time.January,1,0,0,0,0,time.UTC)
	t5 := time.Date(1,time.January,1,1,1,1,1,time.UTC)


	// t 时间是否在 t1 之后
	timeAfterBool := t.After(t1)
	fmt.Println(timeAfterBool)

	// t2 时间是否在 t 之前
	timeBeforeBool := t2.Before(t2)
	fmt.Println(timeBeforeBool)

	// t 时间是否和 t1 相等
	timeEqualBoll := t.Equal(t1)
	fmt.Println(timeEqualBoll)

	// t4 是否是零值
	timeIsZeroBool := t4.IsZero()
	fmt.Println(timeIsZeroBool)

	// 返回 t 的年月日
	timeYear,timeMonth,timeDay := t.Date()
	fmt.Println(timeYear,timeMonth,timeDay)

	// 返回 t 的年份
	timeYearInt := t.Year()
	fmt.Println(timeYearInt)

	// 返回 t 的月份
	timeMonthMonth := t.Month()
	fmt.Println(timeMonthMonth)

	// 返回 t 的天
	timeDayInt := t.Day()
	fmt.Println(timeDayInt)

	// 返回 t 的星期
	timeWeekdayWeekday := t.Weekday()
	fmt.Println(timeWeekdayWeekday)

	// 返回 t 的年和周数
	timeISOWeekYear,timeISOWeekWeek := t.ISOWeek()
	fmt.Println(timeISOWeekYear,timeISOWeekWeek)

	// 返回 t 的小时,分钟,秒
	timeHourInt,timeMinInt,timeSecInt := t.Clock()
	fmt.P
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值