función time.ParseDuration() en Golang con ejemplos

El lenguaje Go brinda soporte incorporado para medir y mostrar el tiempo con la ayuda del paquete de tiempo . En este paquete, los cálculos calendáricos siempre asumen un calendario gregoriano sin segundos bisiestos. Este paquete proporciona una función ParseDuration() que analiza una string de duración. La string de duración es una secuencia firmada de números decimales con fracción opcional y sufijo de unidad, como «100ms», «2.3h» o «4h35m». Para acceder a la función ParseDuration(), debe agregar un paquete de tiempo en su programa con la ayuda de la palabra clave de importación.

Nota: Las unidades de tiempo válidas son “ns”, “us” (o “µs”), “ms”, “s”, “m”, “h”.

Sintaxis:

func ParseDuration(str string) (Duration, error)

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

Producción:

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

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

Producción:

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.

Publicación traducida automáticamente

Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *