// 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
go源码库学习之time库
于 2022-11-25 18:30:46 首次发布
本文详细介绍了Go语言1.18.1版本中的time库,包括时间的显示、测量、日期操作、时间差计算、计时器与定时器的使用,以及与纳秒、时区和格式化的交互实例。

最低0.47元/天 解锁文章
1208

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



