📅  最后修改于: 2023-12-03 14:41:34.102000             🧑  作者: Mango
在 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 格式。