📜  Golang 中的 time.ParseDuration()函数示例(1)

📅  最后修改于: 2023-12-03 14:41:34.102000             🧑  作者: Mango

Golang 中的 time.ParseDuration()函数

在 Golang 的时间处理函数库中,有一个非常实用的函数 ParseDuration(),可以将字符串时间间隔解析成对应的时间段变量。

语法

func ParseDuration(s string) (Duration, error)

参数

s string:表示待解析的时间字符串,例如 "1h30m" 表示1小时30分钟。

返回值

(Duration, error):表示解析出来的时间段变量和是否解析成功的错误信息。

示例
package main

import (
	"fmt"
	"time"
)

func main() {

	// 解析出30秒的时间段
	duration1, err1 := time.ParseDuration("30s")
	if err1 != nil {
		fmt.Println("解析失败!", err1)
		return
	}
	fmt.Println("解析成功!时间段为:", duration1)

	// 解析出1小时30分钟的时间段
	duration2, err2 := time.ParseDuration("1h30m")
	if err2 != nil {
		fmt.Println("解析失败!", err2)
		return
	}
	fmt.Println("解析成功!时间段为:", duration2)
}

输出结果如下:

解析成功!时间段为: 30s
解析成功!时间段为: 1h30m0s

这就是一个示例程序,展示了 ParseDuration() 函数的基本用法。通过传入特定格式的时间字符串,我们可以将其解析成对应的时间段变量,以便进行时间计算等操作。

常用时间格式

在时间字符串中,我们一般使用以下格式:

| 格式符 | 含义 | | ------ | ------------------------------------------------------------ | | y | 年份,例如:01,06,58,2006,2008,2018 等 | | M | 月份,例如:1,2,12 | | d | 天数,例如:1,2,31 | | h | 小时数,例如:0,3,23 | | m | 分钟数,例如:0,59,250 | | s | 秒数,例如:0,11,60,3600 | | ns | 纳秒数,例如:0,10,9999 |

更多时间格式可以参考 Golang 官方文档:time 格式

注意事项
  1. 时间字符串必须是正确的格式,否则会解析失败。
  2. 时间字符串一般使用“单位”+“数字”的方式表示,例如“1h30m”,其中“h”表示小时,“m”表示分钟。
  3. 解析出的时间段变量可以进行简单的数学运算。例如,可以将两个时间段相加,计算出它们之和。