驴C贸mo sumar y restar tiempo a una fecha en Go?
Una ves que tenemos una estructura del tipo time.Time, podemos realizar operaciones, como sumar o restar una cantidad de tiempo a esta. Para hacer esto podemos utilizar el m茅todo Add.
Ejemplo de operaciones utilizando fechas en Go
El siguiente programa tiene el objetivo de imprimir la fecha actual, y despu茅s en base a esta calcular la fecha hace un a帽o y dentro de un a帽o.
package main
import (
"fmt"
"time"
)
func main() {
ahora := time.Now()
fmt.Println("Fecha en este momento:")
fmt.Println(ahora)
fmt.Println("Dentro de un a帽o:")
fecha2 := ahora.Add(365 * 24 * time.Hour)
fmt.Println(fecha2)
fmt.Println("Hace un a帽o:")
fecha3 := ahora.Add(365 * 24 * time.Hour * -1)
fmt.Println(fecha3)
}
Descripci贸n del programa para realizar operaciones con fechas en Go
Capturamos en una variable la fecha actual.
ahora := time.Now()
Calculamos la fecha dentro de un a帽o, es decir 365 d铆as multiplicados por 24 horas.
fecha2 := ahora.Add(365 * 24 * time.Hour)
Calculamos la fecha hace un a帽o, para indicar que el c谩lculo se haga a la inversa, multiplicamos por -1.
fecha3 := ahora.Add(365 * 24 * time.Hour * -1)
Imprimimos tambi茅n cada una de las fechas, el programa nos arrojar谩 algo as铆.
$ go run main.go
Fecha en este momento:
2019-08-21 22:09:45.143274 -0400 EDT m=+0.000175347
Dentro de un a帽o:
2020-08-20 22:09:45.143274 -0400 EDT m=+31536000.000175347
Hace un a帽o:
2018-08-21 22:09:45.143274 -0400 EDT m=-31535999.999824653