{"id":5934,"date":"2025-01-08T17:05:50","date_gmt":"2025-01-08T20:05:50","guid":{"rendered":"https:\/\/bangtannow.com\/calendario-bts\/"},"modified":"2025-06-30T12:26:01","modified_gmt":"2025-06-30T15:26:01","slug":"calendario-bts","status":"publish","type":"page","link":"https:\/\/bangtannow.com\/es\/calendario-bts\/","title":{"rendered":"Calendario BTS"},"content":{"rendered":"\n<div class=\"wp-block-uagb-container uagb-layout-grid uagb-block-2298e2b8 alignfull uagb-is-root-container\">\n<h1 class=\"wp-block-heading has-text-align-center has-ast-global-color-4-color has-text-color has-link-color wp-elements-d30ba10028b10b06c9a76e32e983058f\">Calendario BTS<\/h1>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>\u00a1Mantente al d\u00eda con todos los eventos y lanzamientos de BTS!<\/p>\n\n\n\n<p>Aqu\u00ed encontrar\u00e1s fechas de conciertos, apariciones en programas, lanzamientos de \u00e1lbumes, cumplea\u00f1os y eventos especiales.<\/p>\n\n\n\n<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n  <title>Calendario de BTS<\/title>\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;600&#038;display=swap\" rel=\"stylesheet\" \/>\n  <style>\n    body {\n      font-family: 'Poppins', sans-serif;\n      background-color: #f9f8fd;\n      margin: 0;\n      padding: 20px;\n    }\n\n    .agenda-completa {\n      max-width: 800px;\n      margin: 0 auto;\n    }\n\n    .mes-bloco {\n      margin-top: 40px;\n    }\n\n    .mes-bloco h3 {\n      font-size: 18px;\n      font-weight: 600;\n      color: #5c2c91;\n      margin-bottom: 16px;\n      border-bottom: 1px solid #eee;\n      padding-bottom: 6px;\n    }\n\n    .evento-bts {\n      display: flex;\n      align-items: flex-start;\n      background-color: #F5CFFB;\n      padding: 12px 16px;\n      margin-bottom: 12px;\n      border-radius: 8px;\n      border: 1px solid #eee;\n    }\n\n    .evento-bts .data {\n      width: 80px;\n      font-size: 13px;\n      font-weight: 600;\n      color: #5c2c91;\n      text-align: left;\n      line-height: 1.4;\n      text-transform: uppercase;\n    }\n\n    .evento-bts .info {\n      flex: 1;\n      margin-left: 12px;\n      font-size: 14px;\n      color: #111;\n    }\n\n    .evento-bts .info .hora {\n      font-size: 12px;\n      color: #777;\n      margin-bottom: 4px;\n    }\n\n    .evento-bts .info .item {\n      margin-bottom: 12px;\n    }\n  <\/style>\n<\/head>\n<body>\n  <div class=\"agenda-completa\" id=\"agenda-por-mes\"><\/div>\n\n <p style=\"text-align:center; font-size: 13px; color: #555; margin-top: 30px;\">\n  Todas las horas se muestran en <strong>hora est\u00e1ndar de M\u00e9xico<\/strong> \u2013 zona horaria de Ciudad de M\u00e9xico.\n<\/p>\n\n  <script>\n    const calendarId = \"contato.bangtannow@gmail.com\";\n    const apiKey = \"AIzaSyCmQ5iOJT3qlSEYVgdSi4mxXSFr4tGYSyo\";\n\n    const hoy = new Date();\n    const inicioHoy = new Date(hoy.getFullYear(), hoy.getMonth(), hoy.getDate(), 0, 0, 0);\n    const manana = new Date(inicioHoy);\n    manana.setDate(inicioHoy.getDate() + 1);\n\n    const timeMin = inicioHoy.toISOString();\n    const timeMax = new Date(`${hoy.getFullYear()}-12-31T23:59:59Z`).toISOString();\n\n    fetch(`https:\/\/www.googleapis.com\/calendar\/v3\/calendars\/${encodeURIComponent(calendarId)}\/events?key=${apiKey}&timeMin=${timeMin}&timeMax=${timeMax}&singleEvents=true&orderBy=startTime`)\n      .then(res => res.json())\n      .then(data => {\n        const container = document.getElementById(\"agenda-por-mes\");\n        if (!data.items || data.items.length === 0) {\n          container.innerHTML = \"<p style='text-align:center;color:#777;'>No se encontraron eventos pr\u00f3ximos.<\/p>\";\n          return;\n        }\n\n        const eventosPorMes = {};\n\n        data.items.forEach(event => {\n          const start = new Date(event.start.dateTime || event.start.date);\n          const diaEvento = new Date(start.getFullYear(), start.getMonth(), start.getDate());\n          const diaHoy = new Date(inicioHoy.getFullYear(), inicioHoy.getMonth(), inicioHoy.getDate());\n          const diaManana = new Date(manana.getFullYear(), manana.getMonth(), manana.getDate());\n\n          if (diaEvento < diaHoy) return;\n\n          const claveFecha = diaEvento.toISOString().slice(0, 10);\n          const mes = start.toLocaleDateString('es-MX', { weekday: 'short', timeZone: 'America\/Mexico_City' })\n\n          let textoFecha = \"\";\n          if (diaEvento.getTime() === diaHoy.getTime()) {\n            textoFecha = \"HOY\";\n          } else if (diaEvento.getTime() === diaManana.getTime()) {\n            textoFecha = \"MA\u00d1ANA\";\n          } else {\n            const diaSemana = start.toLocaleDateString('es-ES', { weekday: 'short', timeZone: 'America\/New_York' });\n            const diaMes = start.toLocaleDateString('es-ES', { day: '2-digit', month: '2-digit', timeZone: 'America\/New_York' });\n            textoFecha = `${diaSemana},<br>${diaMes}`;\n          }\n\n          const hora = event.start.dateTime\n            ? start.toLocaleTimeString('es-MX', { hour: '2-digit', minute: '2-digit', timeZone: 'America\/Mexico_City' })\n            : \"Todo el d\u00eda\";\n\n          if (!eventosPorMes[mes]) eventosPorMes[mes] = {};\n          if (!eventosPorMes[mes][claveFecha]) eventosPorMes[mes][claveFecha] = { textoFecha, eventos: [] };\n\n          eventosPorMes[mes][claveFecha].eventos.push(`\n            <div class=\"item\">\n              <div class=\"hora\">${hora}<\/div>\n              <div>${event.summary}<\/div>\n            <\/div>\n          `);\n        });\n\n        Object.keys(eventosPorMes).forEach(mes => {\n          let htmlMes = `<div class=\"mes-bloco\"><h3>${mes.charAt(0).toUpperCase() + mes.slice(1)}<\/h3>`;\n\n          Object.values(eventosPorMes[mes]).forEach(({ textoFecha, eventos }) => {\n            htmlMes += `\n              <div class=\"evento-bts\">\n                <div class=\"data\">${textoFecha}<\/div>\n                <div class=\"info\">${eventos.join(\"\")}<\/div>\n              <\/div>\n            `;\n          });\n\n          htmlMes += `<\/div>`;\n          container.innerHTML += htmlMes;\n        });\n      })\n      .catch(err => {\n        console.error(\"Error al cargar los eventos:\", err);\n        document.getElementById(\"agenda-por-mes\").innerHTML = \"<p style='text-align:center;color:red;'>Error al obtener los eventos.<\/p>\";\n      });\n  <\/script>\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>Calendario BTS \u00a1Mantente al d\u00eda con todos los eventos y lanzamientos de BTS! Aqu\u00ed encontrar\u00e1s fechas de conciertos, apariciones en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5422,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-5934","page","type-page","status-publish","has-post-thumbnail","hentry"],"uagb_featured_image_src":{"full":["https:\/\/bangtannow.com\/wp-content\/uploads\/2025\/01\/Calendario-BTS-Bangtan-Now.jpg",1400,788,false],"thumbnail":["https:\/\/bangtannow.com\/wp-content\/uploads\/2025\/01\/Calendario-BTS-Bangtan-Now-150x150.jpg",150,150,true],"medium":["https:\/\/bangtannow.com\/wp-content\/uploads\/2025\/01\/Calendario-BTS-Bangtan-Now-300x169.jpg",300,169,true],"medium_large":["https:\/\/bangtannow.com\/wp-content\/uploads\/2025\/01\/Calendario-BTS-Bangtan-Now-768x432.jpg",768,432,true],"large":["https:\/\/bangtannow.com\/wp-content\/uploads\/2025\/01\/Calendario-BTS-Bangtan-Now-1024x576.jpg",1024,576,true],"1536x1536":["https:\/\/bangtannow.com\/wp-content\/uploads\/2025\/01\/Calendario-BTS-Bangtan-Now.jpg",1400,788,false],"2048x2048":["https:\/\/bangtannow.com\/wp-content\/uploads\/2025\/01\/Calendario-BTS-Bangtan-Now.jpg",1400,788,false]},"uagb_author_info":{"display_name":"Vic Passini","author_link":"https:\/\/bangtannow.com\/es\/author\/vicksjrpgmail-com\/"},"uagb_comment_info":0,"uagb_excerpt":"Calendario BTS \u00a1Mantente al d\u00eda con todos los eventos y lanzamientos de BTS! Aqu\u00ed encontrar\u00e1s fechas de conciertos, apariciones en [&hellip;]","_links":{"self":[{"href":"https:\/\/bangtannow.com\/es\/wp-json\/wp\/v2\/pages\/5934","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bangtannow.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bangtannow.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bangtannow.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bangtannow.com\/es\/wp-json\/wp\/v2\/comments?post=5934"}],"version-history":[{"count":3,"href":"https:\/\/bangtannow.com\/es\/wp-json\/wp\/v2\/pages\/5934\/revisions"}],"predecessor-version":[{"id":8895,"href":"https:\/\/bangtannow.com\/es\/wp-json\/wp\/v2\/pages\/5934\/revisions\/8895"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bangtannow.com\/es\/wp-json\/wp\/v2\/media\/5422"}],"wp:attachment":[{"href":"https:\/\/bangtannow.com\/es\/wp-json\/wp\/v2\/media?parent=5934"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}