Go-标准库-time(一)

2023-04-21 14:58:12 浏览数 (1)

Go 语言的 time 包是一个非常常用的包,提供了处理时间和日期的功能。本文将详细介绍 time 包的使用方法,包括如何创建时间、时间格式化、时间计算和定时器等。

时间的创建

在 Go 中,我们可以使用多种方式来创建时间对象。下面介绍其中几种常用的方式。

time.Now()

time.Now() 函数可以返回当前本地时间。其基本用法如下:

代码语言:javascript复制
t := time.Now()
fmt.Println(t)

上述代码将输出当前本地时间,例如:

代码语言:javascript复制
2023-04-22 00:23:45.678901  0800 CST m= 0.000000001

time.Date()

time.Date() 函数可以根据指定的年、月、日、时、分、秒和纳秒创建一个时间对象。其基本用法如下:

代码语言:javascript复制
t := time.Date(2023, time.April, 22, 0, 0, 0, 0, time.Local)
fmt.Println(t)

上述代码将创建一个表示 2023 年 4 月 22 日 0 点 0 分 0 秒的本地时间对象。

time.Parse()

time.Parse() 函数可以将一个字符串解析为时间对象。其基本用法如下:

代码语言:javascript复制
t, err := time.Parse("2006-01-02 15:04:05", "2023-04-22 00:00:00")
if err != nil {
    fmt.Println(err)
} else {
    fmt.Println(t)
}

上述代码将解析字符串 "2023-04-22 00:00:00",并将其转换为时间对象。其中第一个参数是时间格式化字符串,第二个参数是待解析的字符串。

时间的格式化

在 Go 中,我们可以使用 time.Format() 函数将时间对象格式化为指定的字符串。时间格式化字符串由一系列预定义的占位符组成。下面是常用的占位符及其含义:

  • 2006:年份占位符,固定值,表示年份采用 2006 年。
  • 01:月份占位符,表示月份采用 01、02、03、……、12 的形式。
  • 02:日期占位符,表示日期采用 01、02、03、……、31 的形式。
  • 15:小时占位符,表示小时采用 00、01、02、……、23 的形式。
  • 04:分钟占位符,表示分钟采用 00、01、02、……、59 的形式。
  • 05:秒钟占位符,表示秒钟采用 00、01、02、……、59 的形式。
  • 000:毫秒占位符,表示毫秒采用 000、001、002、……、999 的形式。
  • 999999:微秒占位符,表示微秒采用 000000、000001、000002、……、999999 的形

下面是几个常用的时间格式化字符串及其示例:

代码语言:javascript复制
t := time.Date(2023, time.April, 22, 0, 0, 0, 0, time.Local)

// 输出格式化字符串 "2006-01-02 15:04:05"
fmt.Println(t.Format("2006-01-02 15:04:05"))  // 2023-04-22 00:00:00

// 输出格式化字符串 "2006-01-02 03:04:05 PM"
fmt.Println(t.Format("2006-01-02 03:04:05 PM"))  // 2023-04-22 12:00:00 AM

// 输出格式化字符串 "2006年01月02日 15时04分05秒"
fmt.Println(t.Format("2006年01月02日 15时04分05秒"))  // 2023年04月22日 00时00分00秒
go

0 人点赞