Go: parsear fecha

En este post te mostraré cómo convertir una cadena de fecha a un objeto de tipo time.Time en Golang, es decir, parsear o traducir la fecha.

Al crear un objeto time según una fecha en Go vamos a poder usar las operaciones para sumar y restar fechas o en general manipular el tiempo (dentro de la variable).

Veamos entonces cómo parsear una fecha en Go.

Uso de time.Parse

Vamos a usar la función time.Parse. Esta función recibe el layout de la fecha que vamos a parsear, y la fecha en sí, misma que debe cumplir con el layout que pasamos en el primer argumento.

El layout indica el formato y forma de la fecha. Por ejemplo, en otros lenguajes el layout podría ser YYYY-MM-DD, pues en Go es un poco distinto pero se maneja de la misma manera usando un Layout.

Hay varios layouts y podemos definir los nuestros, pero lo importante es entender que no usamos letras, sino una fecha del 2 de enero del 2006 a las 3 de la tarde con 4 minutos y 5 segundos. Aunque suene raro, así es.

Convertir fecha a time.Time en Go

Ya expliqué los argumentos de time.Parse. La función devuelve un time.Time y un posible error. Entonces para este ejemplo yo quiero interpretar o parsear una fecha en formato YYYY-MM-DDTHH:MM:SS en donde la T es la letra T literalmente.

Entonces el layout es: 2006-01-02T15:04:05, debe ser este específicamente si quieres el formato que mencioné anteriormente. Ya si quieres solo la hora o la fecha puedes eliminar lo necesario.

Y finalmente se parsea así:

package main

import (
	"fmt"
	"time"
)

func main() {
	// https://parzibyte.me/blog
	fecha := "2021-10-21T21:23:55"
	fechaComoTime, err := time.Parse("2006-01-02T15:04:05", fecha)
	if err == nil {
		fmt.Println("Fecha parseada. Es:")
		fmt.Println(fechaComoTime)
	} else {
		fmt.Println("Error:")
		fmt.Println(err)
	}
}

Puedes probarlo aquí. Una vez que ya tenemos la fecha como un time.Time podemos invocar a Add, Substract, After, etcétera. Es decir, ya tenemos una fecha como un objeto.

Te invito a leer más sobre Go en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

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