¿Cómo realizar comparaciones entre fechas en Go?
Una de las tareas comunes es la comparación de 2 fechas, es decir si son iguales o si una es mayor que la otra. Para ello la estructura de time proporciona los métodos After, Equal y Before.
Programa para comparar fechas en Go
package main
import (
"fmt"
"time"
)
func main() {
ahora := time.Now()
proxSemana := ahora.Add(time.Hour * 24 * 7)
fmt.Println(ahora.Equal(proxSemana))
fmt.Println(ahora.Before(proxSemana))
fmt.Println(ahora.After(proxSemana))
}
Descripción del programa para comparar fechas en Go
Capturamos la fecha actual.
ahora := time.Now()
Calculamos la fecha dentro de una semana.
proxSemana := ahora.Add(time.Hour * 24 * 7)
Ahora podemos realizar la comparación entre la fecha actual y la próxima semana.
fmt.Println(ahora.Equal(proxSemana))
fmt.Println(ahora.Before(proxSemana))
fmt.Println(ahora.After(proxSemana))
Al ejecutar el programa obtenemos…
$ go run main.go
false
true
false
Ya que…
- La primera condición no se cumple ya que no son la misma fecha.
- La segunda condición se cumple ya que la fecha actual sucede antes que la fecha dentro de una semana.
- La tercera condición no se cumple ya que la fecha actual no sucede después de la fecha dentro de una semana.
La comparación de fechas nos permite entre otras tareas realizar validaciones dentro de los programas, estas validaciones previenen que se ingresen datos de forma incorrecta.