{"id":46191,"date":"2025-04-21T05:52:30","date_gmt":"2025-04-21T05:52:30","guid":{"rendered":"https:\/\/www.carmatec.com\/?p=46191"},"modified":"2025-12-31T07:38:47","modified_gmt":"2025-12-31T07:38:47","slug":"como-dominar-el-manejo-de-la-fecha-y-la-hora-en-go-una-guia-practica","status":"publish","type":"post","link":"https:\/\/www.carmatec.com\/es_mx\/blog\/mastering-date-and-time-handling-in-go-a-practical-guide\/","title":{"rendered":"Dominio del manejo de fecha y hora en Go: Gu\u00eda pr\u00e1ctica"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"46191\" class=\"elementor elementor-46191\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9d73a4a e-flex e-con-boxed e-con e-parent\" data-id=\"9d73a4a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72c3bfd elementor-widget elementor-widget-text-editor\" data-id=\"72c3bfd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">El manejo de fechas y horas es un aspecto fundamental de la programaci\u00f3n, ya sea para crear API, programar tareas o registrar eventos. En Go, el <\/span><span style=\"font-weight: 400;\">hora<\/span><span style=\"font-weight: 400;\"> El paquete ofrece una forma s\u00f3lida e intuitiva de gestionar fechas, horas, zonas horarias y duraciones. Esta gu\u00eda te guiar\u00e1 a trav\u00e9s de los aspectos fundamentales del <\/span><span style=\"font-weight: 400;\">hora<\/span><span style=\"font-weight: 400;\"> paquete, desde operaciones b\u00e1sicas hasta casos de uso avanzados, con ejemplos pr\u00e1cticos y mejores pr\u00e1cticas. Al finalizar, te sentir\u00e1s seguro de haber dominado el manejo de fechas y horas en Go.<\/span><\/p><h3><b>Por qu\u00e9 es importante el manejo de la fecha y la hora<\/b><\/h3><p><span style=\"font-weight: 400;\">Las fechas y las horas son fundamentales en muchas aplicaciones:<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><b>API<\/b><span style=\"font-weight: 400;\"> Es necesario dar formato y analizar las marcas de tiempo.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Programadores<\/b><span style=\"font-weight: 400;\"> dependen de una sincronizaci\u00f3n precisa para realizar las tareas.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Registros<\/b><span style=\"font-weight: 400;\"> utilizar marcas de tiempo para realizar un seguimiento de los eventos.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Interfaces de usuario<\/b> mostrar las fechas en formatos localizados.<\/li><\/ul><p><span style=\"font-weight: 400;\">Go\u2019s <code>hora<\/code> El paquete est\u00e1 dise\u00f1ado para ser sencillo pero potente, y ofrece herramientas para gestionar estas situaciones de manera eficiente. A diferencia de algunos lenguajes que dependen en gran medida de bibliotecas de terceros, la biblioteca est\u00e1ndar de Go suele ser todo lo que necesitas. \u00a1Empecemos!<\/span><\/p><h3><b>Introducci\u00f3n al paquete \u00abtime\u00bb<\/b><\/h3><p><span style=\"font-weight: 400;\">El <code>hora<\/code> El paquete forma parte de la biblioteca est\u00e1ndar de Go, por lo que no requiere dependencias externas. Para utilizarlo, importa el paquete:<\/span><\/p><p><span style=\"font-weight: 400;\"><code>ir<\/code><br \/>import \u201ctime\u201d<\/span><\/p><p><span style=\"font-weight: 400;\">Los tipos de n\u00facleo en el <code>hora<\/code> El paquete incluye:<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><code>hora.Hora<\/code>: Representa un momento concreto en el tiempo (por ejemplo, \u201c21\/04\/2025 10:30:00\u201d).<\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><code>time.Duration<\/code>: Representa un lapso de tiempo (por ejemplo, 5 horas y 30 segundos).<\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><code>Hora.Ubicaci\u00f3n<\/code>: Representa un huso horario (por ejemplo, \u201cAmerica\/New_York\u201d).<\/li><\/ul><p><span style=\"font-weight: 400;\">Empecemos con algunas operaciones b\u00e1sicas.<\/span><\/p><h3><b>Trabajar con la fecha y la hora actuales<\/b><\/h3><p><span style=\"font-weight: 400;\">Para obtener la fecha y la hora actuales, utiliza <code>time.Now()<\/code>:<br \/><\/span><span style=\"font-weight: 400;\"><code>ir<\/code><br \/><\/span><span style=\"font-weight: 400;\">paquete principal<\/span><\/p><pre><span style=\"font-weight: 400;\">importar (<\/span>\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0\"fmt\"<\/span>\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0\"tiempo\"<\/span>\n<span style=\"font-weight: 400;\">)<\/span>\n<span style=\"font-weight: 400;\">\nfunc main() {<\/span>\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0now := time.Now()<\/span>\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0fmt.Println(\"Hora actual:\", now)<\/span>\n<span style=\"font-weight: 400;\">}<\/span><\/pre><p><span style=\"font-weight: 400;\">Esto genera un resultado similar a:<\/span><\/p><p><span style=\"font-weight: 400;\">Hora actual: 21\/04\/2025 10:30:45.123456789 +0000 UTC<\/span><\/p><p><span style=\"font-weight: 400;\">El <code>hora.Hora<\/code> El valor incluye la fecha, la hora y la zona horaria (UTC por defecto). Puedes extraer componentes individuales como el a\u00f1o, el mes o la hora:<\/span><\/p><pre><span style=\"font-weight: 400;\">ir<\/span>\n<span style=\"font-weight: 400;\">a\u00f1o := now.Year() \/\/ p. ej., 2025<\/span>\n<span style=\"font-weight: 400;\">mes := now.Month() \/\/ p. ej., abril<\/span>\n<span style=\"font-weight: 400;\">day := now.Day() \/\/ p. ej., 21<\/span>\n<span style=\"font-weight: 400;\">hora := now.Hour() \/\/ p. ej., 10<\/span>\n<span style=\"font-weight: 400;\">minute := now.Minute() \/\/ p. ej., 30<\/span>\n<span style=\"font-weight: 400;\">second := now.Second() \/\/ p. ej., 45<\/span>\n\n<span style=\"font-weight: 400;\">fmt.Printf(\"Date: %d-%02d-%02d\\n\", year, month, day)<\/span>\n<span style=\"font-weight: 400;\">fmt.Printf(\"Time: %02d:%02d:%02d\\n\", hour, minute, second)<\/span><\/pre><p><span style=\"font-weight: 400;\">Salida:<\/span><\/p><p><span style=\"font-weight: 400;\">Fecha: 21 de abril de 2025<br \/><\/span><span style=\"font-weight: 400;\">Hora: 10:30:45<\/span><\/p><p><span style=\"font-weight: 400;\">Esto resulta \u00fatil para registrar o mostrar partes espec\u00edficas de una marca de tiempo.<\/span><\/p><h3><b>An\u00e1lisis y formato de fechas<\/b><\/h3><p><span style=\"font-weight: 400;\">El enfoque de Go para analizar y dar formato a las fechas es \u00fanico. En lugar de utilizar especificadores de formato como <code>%Y<\/code> o <code>%m<\/code> (algo habitual en otros lenguajes), Go utiliza un tiempo de referencia: <b>2 de enero de 2006, 15:04:05<\/b> (formateado como <code>2006-01-02 15:04:05<\/code>). Se eligi\u00f3 esta fecha porque es f\u00e1cil de recordar y coincide con el a\u00f1o de nacimiento de Go (2006).<\/span><\/p><h3><b>Formato de fechas<\/b><\/h3><p><span style=\"font-weight: 400;\">Para dar formato a un <code>hora.Hora<\/code> convertir un valor en una cadena, usa <code>time.Format()<\/code> con una cadena de formato basada en la hora de referencia:<\/span><\/p><pre><span style=\"font-weight: 400;\">ir<\/span>\n<span style=\"font-weight: 400;\">now := time.Now()<\/span>\n<span style=\"font-weight: 400;\">formatted := now.Format(\"2006-01-02 15:04:05\")<\/span>\n<span style=\"font-weight: 400;\">fmt.Println(\"Hora formateada:\", formatted)<\/span><\/pre><p><span style=\"font-weight: 400;\">Salida:<\/span><\/p><p><span style=\"font-weight: 400;\">Hora formateada: 21\/04\/2025 10:30:45<\/span><\/p><p><span style=\"font-weight: 400;\">Puedes personalizar el formato. Por ejemplo:<\/span><\/p><pre><span style=\"font-weight: 400;\">ir<\/span>\n<span style=\"font-weight: 400;\">fmt.Println(now.Format(\"Lun, 2 de enero de 2006\")) \/\/ p. ej., Lun, 21 de abril de 2025<\/span>\n<span style=\"font-weight: 400;\">fmt.Println(now.Format(\"3:04 p. m.\")) \/\/ p. ej., 10:30 a. m.<\/span><\/pre><h3><b>An\u00e1lisis de fechas<\/b><\/h3><p><span style=\"font-weight: 400;\">Para analizar una cadena en un <code>hora.Hora<\/code> valor, uso <code>time.Parse()<\/code>:<\/span><\/p><pre><span style=\"font-weight: 400;\">ir<\/span>\n<span style=\"font-weight: 400;\">dateStr := \"2025-04-21 10:30:00\"<\/span>\n<span style=\"font-weight: 400;\">layout := \"2 de enero de 2006, 15:04:05\"<\/span>\n<span style=\"font-weight: 400;\">t, err := time.Parse(layout, dateStr)<\/span>\n<span style=\"font-weight: 400;\">si err != nil {<\/span>\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0fmt.Println(\"Error al analizar la hora:\", err)<\/span>\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0volver<\/span>\n<span style=\"font-weight: 400;\">}<\/span>\n<span style=\"font-weight: 400;\">fmt.Println(\"Tiempo de an\u00e1lisis:\", t)<\/span><\/pre><p><span style=\"font-weight: 400;\">Salida:<\/span><\/p><p><span style=\"font-weight: 400;\">Hora de an\u00e1lisis: 21 de abril de 2025, 10:30:00 UTC<\/span><\/p><p><span style=\"font-weight: 400;\">Si la cadena no coincide con el dise\u00f1o, <code>time.Parse()<\/code> devuelve un error, as\u00ed que comprueba siempre si hay errores.<\/span><\/p><p><span style=\"font-weight: 400;\">Para mayor comodidad, Go ofrece dise\u00f1os predefinidos como <code>hora.RFC3339<\/code> para formatos est\u00e1ndar:<\/span><\/p><pre><span style=\"font-weight: 400;\">ir<\/span>\n<span style=\"font-weight: 400;\">t, err = time.Parse(time.RFC3339, \"2025-04-21T10:30:00Z\")<\/span>\n<span style=\"font-weight: 400;\">fmt.Println(\"Hora analizada seg\u00fan RFC 3339:\", t)<\/span><\/pre><h3><b>Manipulaci\u00f3n de fechas y horas<\/b><\/h3><p><span style=\"font-weight: 400;\">El <code>hora<\/code> Este paquete facilita la realizaci\u00f3n de operaciones aritm\u00e9ticas con fechas y horas.<\/span><\/p><h3><b>Suma y resta de horas<\/b><\/h3><p><span style=\"font-weight: 400;\">Utilice <code>A\u00f1adir()<\/code> para a\u00f1adir un <code>time.Duration<\/code> a un <code>hora.Hora<\/code>:<\/span><\/p><pre><span style=\"font-weight: 400;\">ir<\/span>\n<span style=\"font-weight: 400;\">now := time.Now()<\/span>\n<span style=\"font-weight: 400;\">future := now.Add(24 * time.Hour) \/\/ A\u00f1adir 1 d\u00eda<\/span>\n<span style=\"font-weight: 400;\">past := now.Add(-2 * time.Hour) \/\/ Restar 2 horas<\/span>\n\n<span style=\"font-weight: 400;\">fmt.Println(\"Ahora:\", now)<\/span>\n<span style=\"font-weight: 400;\">fmt.Println(\"Future:\", future)<\/span>\n<span style=\"font-weight: 400;\">fmt.Println(\"Pasado:\", pasado)<\/span>\n<span style=\"font-weight: 400;\">time.Duration<\/span><span style=\"font-weight: 400;\"> se pueden crear utilizando constantes como <\/span><span style=\"font-weight: 400;\">hora.Hora<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">hora.minuto<\/span><span style=\"font-weight: 400;\">, o <\/span><span style=\"font-weight: 400;\">tiempo.segundo<\/span><span style=\"font-weight: 400;\">. Tambi\u00e9n puedes analizar duraciones:<\/span>\n\n<span style=\"font-weight: 400;\">ir<\/span>\n<span style=\"font-weight: 400;\">duraci\u00f3n, _ := time.ParseDuration(\"1h30m\")<\/span>\n<span style=\"font-weight: 400;\">future = now.Add(duration)<\/span>\n<span style=\"font-weight: 400;\">fmt.Println(\"1 hora y 30 minutos despu\u00e9s:\", future)<\/span><\/pre><h3><b>C\u00e1lculo de las diferencias horarias<\/b><\/h3><p><span style=\"font-weight: 400;\">Para calcular la diferencia entre dos horas, utiliza <code>Sub()<\/code>:<\/span><\/p><pre><span style=\"font-weight: 400;\">ir<\/span>\n<span style=\"font-weight: 400;\">start := time.Now()<\/span>\n<span style=\"font-weight: 400;\">time.Sleep(2 * time.Second) \/\/ Simular algo de trabajo<\/span>\n<span style=\"font-weight: 400;\">end := time.Now()<\/span>\n\n<span style=\"font-weight: 400;\">tiempo transcurrido := fin.Sub(inicio)<\/span>\n<span style=\"font-weight: 400;\">fmt.Printf(\"Tiempo transcurrido: %v\\n\", elapsed)<\/span><\/pre><p><span style=\"font-weight: 400;\">Salida:<\/span><\/p><p><span style=\"font-weight: 400;\">Tiempo transcurrido: 2,001234567 s<\/span><\/p><h3><b>Comparaci\u00f3n de fechas<\/b><\/h3><p><span style=\"font-weight: 400;\">Puedes comparar <code>hora.Hora<\/code> valores utilizando <code>Antes(), Despu\u00e9s()<\/code>, y <code>Equal()<\/code>:<\/span><\/p><pre><span style=\"font-weight: 400;\">ir<\/span>\n<span style=\"font-weight: 400;\">t1 := time.Now()<\/span>\n<span style=\"font-weight: 400;\">t2 := t1.Add(1 * time.Hour)<\/span>\n\n<span style=\"font-weight: 400;\">fmt.Println(\"\u00bft1 antes que t2?\", t1.Before(t2)) \/\/ true<\/span>\n<span style=\"font-weight: 400;\">fmt.Println(\"\u00bft2 despu\u00e9s de t1?\", t2.After(t1)) \/\/ true<\/span>\n<span style=\"font-weight: 400;\">fmt.Println(\"\u00bft1 es igual a t2?\", t1.Equal(t2)) \/\/ false<\/span><\/pre><h3><b>Gesti\u00f3n de zonas horarias<\/b><\/h3><p><span style=\"font-weight: 400;\">Las zonas horarias pueden resultar complicadas, pero Go las simplifica con <code>Hora.Ubicaci\u00f3n<\/code>.<\/span><\/p><h3><b>Cargando zonas horarias<\/b><\/h3><p>Para trabajar con una zona horaria espec\u00edfica, utiliza <code>time.LoadLocation()<\/code>:<\/p><pre>go loc, err := time.LoadLocation(\"America\/New_York\") if err != nil { fmt.Println(\"Error al cargar la ubicaci\u00f3n:\", err) return } nyTime := time.Now().In(loc) fmt.Println(\"Hora de Nueva York:\", nyTime)<\/pre><p>El <code>time.LoadLocation()<\/code> La funci\u00f3n utiliza la base de datos de zonas horarias de la IANA (por ejemplo, \u201cAmerica\/New_York\u201d, \u201cAsia\/Tokyo\u201d). Si no se especifica una ubicaci\u00f3n, Go utiliza UTC de forma predeterminada.<\/p><h3><strong>Conversi\u00f3n entre husos horarios<\/strong><\/h3><p>Para convertir una hora a otra zona horaria, utiliza <code>En()<\/code>:<\/p><pre>go utcTime := time.Now() loc, _ = time.LoadLocation(\"Asia\/Tokyo\") tokyoTime := utcTime.In(loc) fmt.Println(\"Hora UTC:\", utcTime) fmt.Println(\"Hora de Tokio:\", tokyoTime)<\/pre><h3><strong>Uso de la hora UTC y la hora local<\/strong><\/h3><p>Para el UTC, utiliza UTC():<\/p><pre>go utc := time.Now().UTC() fmt.Println(\"Hora UTC:\", utc) Para obtener la zona horaria local del sistema, utiliza Local(): go local := time.Now().Local() fmt.Println(\"Hora local:\", local)<\/pre><h3><strong>Ejemplos pr\u00e1cticos<\/strong><\/h3><p>Analicemos algunos casos reales.<\/p><h3><strong>Programaci\u00f3n de tareas<\/strong><\/h3><p>Para ejecutar una tarea a intervalos regulares, utiliza time.Tick():<\/p><pre>go ticker := time.Tick(2 * time.Second) for t := range ticker { fmt.Println(\"Tick en\", t) } Para un retraso \u00fanico, usa time.After(): go select { case &lt;-time.After(3 * time.Second): fmt.Println(&quot;3 segundos despu\u00e9s...&quot;) }<\/pre><h3><strong>C\u00e1lculo de la edad<\/strong><\/h3><p>Para calcular la edad de alguien a partir de su fecha de nacimiento:<\/p><pre>go birthStr := \"1990-05-15\" birthTime, _ := time.Parse(\"2006-01-02\", birthStr)\nnow := time.Now() age := now.Year() - birthTime.Year() if now.YearDay() &lt; birthTime.YearDay() { age-- \/\/ Ajustar si el cumplea\u00f1os a\u00fan no ha ocurrido este a\u00f1o } fmt.Printf(&quot;Edad: %d\\n&quot;, age)<\/pre><h3><strong>Formato para API<\/strong><\/h3><p>Las API suelen utilizar marcas de tiempo ISO 8601 (RFC 3339):<\/p><pre>go now := time.Now() apiTime := now.Format(time.RFC3339) fmt.Println(\"Marca de tiempo de la API:\", apiTime)<\/pre><h3><strong>Errores comunes y mejores pr\u00e1cticas<\/strong><\/h3><h5><strong>Peligros<\/strong><\/h5><ul><li><strong>Dise\u00f1os incorrectos:<\/strong> Desajuste en el dise\u00f1o en <code>time.Parse()<\/code> o <code>time.Format()<\/code> es un error muy com\u00fan. Comprueba siempre dos veces la hora de referencia (<code>2006-01-02 15:04:05<\/code>).<\/li><li><strong>Supuestos sobre la zona horaria:<\/strong> Dar por sentado que todas las horas est\u00e1n en UTC o en hora local puede provocar errores. Especifica siempre la zona horaria de forma expl\u00edcita.<\/li><li><strong>Ignorar los errores:<\/strong> Funciones como <code>time.Parse()<\/code> y <code>time.LoadLocation()<\/code> devuelven errores. Siempre hay que gestionarlos.<\/li><\/ul><h5><strong>Buenas pr\u00e1cticas<\/strong><\/h5><ul><li><strong>Utilizar UTC para el almacenamiento:<\/strong> Guarda las marcas de tiempo en UTC para evitar confusiones con las zonas horarias.<\/li><li><strong>Validar entradas:<\/strong> Al analizar las fechas proporcionadas por el usuario, comprueba que el formato sea correcto y gestiona los errores de forma adecuada.<\/li><li><strong>Aprovecha los dise\u00f1os predefinidos:<\/strong> Utiliza constantes como <code>hora.RFC3339<\/code> para formatos est\u00e1ndar.<\/li><li><strong>Rendimiento del perfil:<\/strong> Para aplicaciones de alto rendimiento, evite las llamadas frecuentes a <code>time.Now()<\/code> en series cortas, ya que puede resultar relativamente caro.<\/li><\/ul><h3><strong>Bibliotecas de terceros<\/strong><\/h3><p>Aunque el <code>hora<\/code> El paquete es suficiente para la mayor\u00eda de las tareas; bibliotecas como <code>github.com\/jinzhu\/now<\/code> pueden simplificar operaciones complejas (por ejemplo, determinar el inicio de una semana). \u00dasalas con moderaci\u00f3n, ya que la biblioteca est\u00e1ndar suele ser suficiente.<\/p><h2><strong>Conclusi\u00f3n<\/strong><\/h2><p>Go\u2019s <code>hora<\/code> El paquete es una potente herramienta para manejar fechas, horas y zonas horarias. Desde el formateo y el an\u00e1lisis sint\u00e1ctico hasta las operaciones aritm\u00e9ticas y la programaci\u00f3n, ofrece todo lo necesario para una gesti\u00f3n eficaz del tiempo. Al comprender los conceptos b\u00e1sicos<code>\u2014time.Time, time.Duration<\/code>, y <code>Hora. Lugar\u2014<\/code>y siguiendo las mejores pr\u00e1cticas, podr\u00e1s manejar con confianza incluso los casos m\u00e1s complejos relacionados con la fecha y la hora.<\/p><p>Prueba los ejemplos de esta gu\u00eda, explora el <a href=\"https:\/\/pkg.go.dev\/time\">documentaci\u00f3n oficial de Go<\/a>, e intenta crear tus propias funciones basadas en el tiempo. Ya sea que est\u00e9s programando tareas, registrando eventos o formateando respuestas de API, dominar el manejo de fechas y horas en Go har\u00e1 que tus aplicaciones sean m\u00e1s confiables y f\u00e1ciles de usar. Crea aplicaciones escalables y de alto rendimiento con <a href=\"https:\/\/www.carmatec.com\/es_mx\/\">Carmatec<\/a> experto <a href=\"https:\/\/www.carmatec.com\/es_mx\/empresa-de-desarrollo-golang\/\">Servicios de desarrollo en Golang<\/a> dise\u00f1ado para satisfacer las necesidades de las empresas modernas.<\/p><p>\u00a0<\/p><p>\u00a0<\/p><p>\u00a0<\/p><p>\u00a0<\/p><p>\u00a0<\/p><p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Handling dates and times is a fundamental aspect of programming, whether you&#8217;re building APIs, scheduling tasks, or logging events. In Go, the time package provides a robust and intuitive way to manage dates, times, time zones, and durations. This guide will walk you through the essentials of the time package, from basic operations to advanced [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":46221,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-46191","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/www.carmatec.com\/es_mx\/wp-json\/wp\/v2\/posts\/46191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.carmatec.com\/es_mx\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.carmatec.com\/es_mx\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.carmatec.com\/es_mx\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.carmatec.com\/es_mx\/wp-json\/wp\/v2\/comments?post=46191"}],"version-history":[{"count":0,"href":"https:\/\/www.carmatec.com\/es_mx\/wp-json\/wp\/v2\/posts\/46191\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.carmatec.com\/es_mx\/wp-json\/wp\/v2\/media\/46221"}],"wp:attachment":[{"href":"https:\/\/www.carmatec.com\/es_mx\/wp-json\/wp\/v2\/media?parent=46191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.carmatec.com\/es_mx\/wp-json\/wp\/v2\/categories?post=46191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.carmatec.com\/es_mx\/wp-json\/wp\/v2\/tags?post=46191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}