Manejo del tiempo en Go
El tiempo es un elemento que puede ser controlado mediante Go. Esto nos permite realizar diversas actividades como:
- Tomar decisiones en base al tiempo.
- Comparar fechas, horas, etc.
- Disparar eventos basados en tiempo.
Go hace uso del paquete time para este propósito, el cual provee funciones y métodos para interactuar con el el tiempo actual, el tiempo transcurrido o el tiempo de un reloj, este tiempo es distinto según la zona horaria del mundo en donde uno se encuentre.
¿Cómo imprimir la hora en Go?
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println("La hora actual es:", time.Now())
}
Al ejecutar el programa anterior, la fecha es desplegada conforme a la hora de la computadora. Es decir que este valor depende de la configuración de cada computador.
$ go run main.go
La hora actual es: 2019-08-18 11:58:50.223174 -0400 EDT m=+0.000190986
Debido a que la hora depende de la configuración del sistema operativo, muchos administradores utilizan NTP (Network Time Protocol) que es un protocolo de red que sincroniza la hora a traves de los dispositivos conectados a la red.
Una forma de prevenir las diferencias horarias, es realizar las operaciones utilizando la zona horario 0 o UTC (Coordinated Universal Time).