当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Golang time.ParseDuration()用法及代码示例


Go语言借助时间包为测量和显示时间提供了内置支持。在此程序包中,日历计算始终采用公历,没有with秒。该软件包提供了一个ParseDuration()函数,该函数可以解析持续时间字符串。持续时间字符串是带符号的十进制数字序列,带有可选的分数和单位后缀,例如“100ms”,“2.3h”或“4h35m”。要访问ParseDuration()函数,您需要借助import关键字在程序中添加时间包。

注意:有效时间单位为“ns”,“us”(或“µs”),“ms”,“s”,“m”,“h”。

用法:

func ParseDuration(str string) (Duration, error)

范例1:

// Golang program to illustrate 
// how to find time duration 
package main 
  
import ( 
    "fmt"
    "time"
) 
  
func main() { 
  
    // Using ParseDuration() function 
    hr, _:= time.ParseDuration("3h") 
    comp, _:= time.ParseDuration("5h30m40s") 
  
    fmt.Println("Time Duration 1:", hr) 
    fmt.Println("Time Duration 2:", comp) 
  
}

输出:

Time Duration 1: 3h0m0s
Time Duration 2: 5h30m40s

范例2:

// Golang program to illustrate 
// how to find time duration 
package main 
  
import ( 
    "fmt"
    "time"
) 
  
func main() { 
  
    // Using ParseDuration() function 
    hr, _:= time.ParseDuration("5h") 
    comp, _:= time.ParseDuration("2h30m40s") 
    m1, _:= time.ParseDuration("3µs") 
    m2, _:= time.ParseDuration("3us") 
  
    fmt.Println("Time Duration 1:", hr) 
    fmt.Println("Time Duration 2:", comp) 
    fmt.Printf("There are %.0f seconds in %v.\n", 
                            comp.Seconds(), comp) 
      
    fmt.Printf("There are %d nanoseconds in %v.\n", 
                              m1.Nanoseconds(), m1) 
      
    fmt.Printf("There are %6.2e seconds in %v.\n", 
                                 m2.Seconds(), m1) 
}

输出:

Time Duration 1: 5h0m0s
Time Duration 2: 2h30m40s
There are 9040 seconds in 2h30m40s.
There are 3000 nanoseconds in 3µs.
There are 3.00e-06 seconds in 3µs.



相关用法


注:本文由纯净天空筛选整理自Kirti_Mangal大神的英文原创作品 time.ParseDuration() Function in Golang With Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。