Skip to content
Related Articles

Related Articles

Improve Article

time.ParseDuration() Function in Golang With Examples

  • Last Updated : 02 Apr, 2020

Go language provides inbuilt support for measuring and displaying time with the help of the time package. In this package, the calendrical calculations always assume a Gregorian calendar with no leap seconds. This package provides a ParseDuration() function which parses a duration string. Duration string is a signed sequence of decimal numbers with optional fraction and unit suffix, like “100ms”, “2.3h” or “4h35m”. To access ParseDuration() function you need to add a time package in your program with the help of the import keyword.

Note: Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h”.

Syntax:

func ParseDuration(str string) (Duration, error)

Example 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)
  
}

Output:

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

Example 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)
}

Output:

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.



My Personal Notes arrow_drop_up
Recommended Articles
Page :