Avatar ·

Análisis de fecha y hora en formato RFC-3339 / ISO-8601 en Go

¡Hola a todos! Acabo de empezar a estudiar Go y me encontré con un problema al analizar una cadena de fecha y hora. Necesito procesar datos de una API JSON, donde las fechas vienen en formato "2023-12-25T15:30:00Z" o "2023-12-25T18:30:00+03:00" (que parecen ser RFC-3339 o ISO-8601). \n\nSé que en Go existe el paquete `time` con la función `time.Parse`, pero no logro entender qué patrón de formato debo especificar. Probé algo como `"2006-01-02T15:04:05Z07:00"`, pero obtengo errores. Aquí está mi código:\n\n```go\npackage main\n\nimport (\n\t"fmt"\n\t"time"\n)\n\nfunc main() {\n\tdateStr := "2023-12-25T15:30:00Z"\n\tlayout := "2006-01-02T15:04:05Z07:00"\n\tparsedTime, err := time.Parse(layout, dateStr)\n\tif err != nil {\n\t\tfmt.Println("Error de análisis:", err)\n\t\treturn\n\t}\n\tfmt.Println(parsedTime)\n}\n```\n\nDa el error: `parsing time "2023-12-25T15:30:00Z" as "2006-01-02T15:04:05Z07:00": cannot parse "Z" as "Z07:00"`. \n\nHe probado muchas variantes de patrones, pero nada funciona. ¿Podrían indicarme cómo analizar correctamente estas fechas?