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:
package main
import (
"fmt"
"time"
)
func main() {
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:
package main
import (
"fmt"
"time"
)
func main() {
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.
Share your thoughts in the comments
Please Login to comment...