前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go-标准库-time(一)

Go-标准库-time(一)

原创
作者头像
堕落飞鸟
发布2023-04-21 14:58:12
4080
发布2023-04-21 14:58:12
举报
文章被收录于专栏:飞鸟的专栏

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秒

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 时间的创建
    • time.Now()
      • time.Date()
        • time.Parse()
        • 时间的格式化
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档