Golang time.ParseDuration()函数及示例
Go语言通过 time包 提供了内置支持用于测量和显示时间。在这个包中,历法计算假定没有闰秒的格里高利历。该包提供了一个 ParseDuration()函数 ,它解析一个持续时间字符串。持续时间字符串是一个带有可选小数和单位后缀的有符号的十进制数序列,例如“100ms”,“2.3h”或“4h35m”。要访问ParseDuration()函数,您需要使用import关键字将time包添加到您的程序中。
注意: 有效的时间单位是“ns”,“us”(或“µs”),“ms”,“s”,“m”,“h”。
语法:
func ParseDuration(str string) (Duration, error)
示例1:
// Go程序演示如何查找持续时间
package main
import (
"fmt"
"time"
)
func main() {
// 使用ParseDuration()函数
hr, _ := time.ParseDuration("3h")
comp, _ := time.ParseDuration("5h30m40s")
fmt.Println("时间持续时间 1:", hr)
fmt.Println("时间持续时间 2:", comp)
}
输出:
时间持续时间 1:3h0m0s
时间持续时间 2:5h30m40s
示例2:
// Go程序演示如何查找持续时间
package main
import (
"fmt"
"time"
)
func main() {
// 使用ParseDuration()函数
hr, _ := time.ParseDuration("5h")
comp, _ := time.ParseDuration("2h30m40s")
m1, _ := time.ParseDuration("3µs")
m2, _ := time.ParseDuration("3us")
fmt.Println("时间持续时间 1:", hr)
fmt.Println("时间持续时间 2:", comp)
fmt.Printf("在%v中有%.0f秒.\n",
comp, comp.Seconds())
fmt.Printf("在%v中有%d纳秒.\n",
m1, m1.Nanoseconds())
fmt.Printf("在%v中有%6.2e秒.\n",
m1, m2.Seconds())
}
输出:
时间持续时间 1:5h0m0s
时间持续时间 2:2h30m40s
在2h30m40s中有9040秒.
在3µs中有3000纳秒.
在3µs中有3.00e-06秒.