Bootstrap

10.3go常用内置包time

Go 语言中时间类型有两种:

time.Time:表示时间的类型,常见的有两种方式:

time.Now():获取当前的时间

time.Date():根据指定的年、月、日、时、分、秒、纳秒等创建时间

time.Unix 函数用于根据Unix时间戳(自1970年1月1日以来的秒数)和纳秒数创建一个time.Time对象。

t := time.Unix(1609459200, 0) // 使用第二个参数传递纳秒值,这里为0

fmt.Println("Time:", t)

time.Duration:表示两个时间点之间经过的时间,以纳秒为单位

b := time.Date(2028, time.February, 20, 23, 59, 59, 0, time.UTC)

c := time.Date(2028, time.February, 20, 23, 59, 59, 0, time.Local)

d := c.Sub(b) //获取本地时间和UTC时间的时间间隔

fmt.Println(d)

fmt.Println(d.Seconds())

d2 := (time.Second*30 + time.Minute*5) //获取5分钟30秒的时间间隔

fmt.Println(d2)

fmt.Println(d2.Seconds())

时间操作

日期格式化

time.Time类型有一个Format方法,你可以使用这个方法来格式化日期和时间。

Parse函数将可以将日期字符串其解析为time.Time对象:

常用的格式化参数

  • 2006 表示年

  • 01 表示月

  • 02 表示日

  • 15 表示小时(24小时制)

  • 03 表示小时(12小时制)

  • PM 表示上午/下午(与小时一起使用)

  • 04 表示分钟

  • 05 表示秒

  • Mon 表示周几份的缩写(例如Mon)

  • Monday 表示完整的月份名称(例如Monday

  • Jan 表示月份的缩写(例如Jan)

  • January 表示完整的月份名称(例如January)

  • -0700 表示时区

这个转换格式参数不太容易被接受。go给我们提供了几个常量。定义了基本的转换格式

Parse 函数,不带市区时候,会把字符串转换成 UTC 也就是格林尼治时间。如果需要带时区信息。 可以转换字符串加上时区信息。或者用 ParseInLocation

;