Time, Introducción

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).