{"id":28,"date":"2026-08-03T09:00:17","date_gmt":"2026-08-03T09:00:17","guid":{"rendered":"https:\/\/moonagetoday.org\/es\/?page_id=28"},"modified":"2026-08-03T16:35:44","modified_gmt":"2026-08-03T16:35:44","slug":"calendario-de-fases","status":"publish","type":"page","link":"https:\/\/moonagetoday.org\/es\/calendario-de-fases\/","title":{"rendered":"Calendario De Fases"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-text-align-center\">Calendario de fases lunares 2026<\/h2>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">Consulta las fases de la Luna de cada d\u00eda, el porcentaje de iluminaci\u00f3n lunar y las fechas exactas de la Luna nueva y la Luna llena mes a mes a continuaci\u00f3n.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-3a88641f wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<style>\n  #mpc-moon-widget {\n    --w-bg: #040B16;\n    --w-surface: #0A1420;\n    --w-surface-alt: #0E1C2E;\n    --w-border: #16273D;\n    --w-text: #EAF2FF;\n    --w-text-muted: #8CA0B8;\n    --w-accent: #78CBFF;\n    --w-accent-contrast: #04121F;\n    --w-danger: #FF6B6B;\n    --w-danger-bg: #1F1315;\n    --w-radius: 10px;\n    --w-space-1: 6px;\n    --w-space-2: 10px;\n    --w-space-3: 16px;\n    --w-space-4: 24px;\n\n    box-sizing: border-box;\n    width: 100%;\n    max-width: 640px;\n    margin: 0 auto;\n    color: var(--w-text);\n  }\n\n  #mpc-moon-widget *,\n  #mpc-moon-widget *::before,\n  #mpc-moon-widget *::after {\n    box-sizing: border-box;\n    font-family: inherit;\n    color: inherit;\n  }\n\n  #mpc-moon-widget .widget-card {\n    background: var(--w-surface);\n    border: 1px solid var(--w-border);\n    border-radius: var(--w-radius);\n    padding: 2rem;\n    width: 100%;\n  }\n\n  #mpc-moon-widget .widget-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: var(--w-space-3);\n    margin-bottom: 1.5rem;\n  }\n\n  #mpc-moon-widget .widget-nav-btn {\n    background: var(--w-accent);\n    border: 1px solid var(--w-accent);\n    border-radius: var(--w-radius);\n    cursor: pointer;\n    color: #000;\n    width: 3rem;\n    height: 3rem;\n    flex: none;\n    font-size: 1.5rem;\n    line-height: 1;\n    font-weight: 600;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    transition: background 0.2s, border-color 0.2s;\n  }\n\n  #mpc-moon-widget .widget-nav-btn:hover {\n    background: #8fd4ff;\n    border-color: #8fd4ff;\n  }\n\n  #mpc-moon-widget .widget-month-title {\n    margin: 0;\n    font-size: 1.5rem;\n    font-weight: 600;\n    text-align: center;\n    color: var(--w-text);\n  }\n\n  #mpc-moon-widget .widget-cal-table {\n    width: 100%;\n    border-collapse: separate;\n    border-spacing: 0;\n    border: 1px solid var(--w-border);\n    border-radius: var(--w-radius);\n    overflow: hidden;\n    background: var(--w-surface);\n    color: var(--w-text);\n  }\n\n  #mpc-moon-widget .widget-cal-table th,\n  #mpc-moon-widget .widget-cal-table td {\n    padding: 0.85rem 1rem;\n    text-align: left;\n    border-bottom: 1px solid var(--w-border);\n  }\n\n  #mpc-moon-widget .widget-cal-table tr:last-child td {\n    border-bottom: none;\n  }\n\n  #mpc-moon-widget .widget-cal-table th {\n    background: var(--w-surface-alt);\n    color: var(--w-text-muted);\n    font-weight: 600;\n    text-transform: uppercase;\n    font-size: 0.75rem;\n    letter-spacing: 0.05em;\n  }\n\n  #mpc-moon-widget .widget-cell-date {\n    width: 25%;\n    font-weight: 600;\n    white-space: nowrap;\n  }\n\n  #mpc-moon-widget .widget-cell-detail {\n    display: flex;\n    align-items: center;\n    gap: var(--w-space-3);\n  }\n\n  #mpc-moon-widget .widget-phase-img {\n    width: 40px;\n    height: 40px;\n    object-fit: contain;\n    flex: none;\n    border-radius: var(--w-space-1);\n    background: var(--w-surface-alt);\n  }\n\n  #mpc-moon-widget .widget-phase-info {\n    display: flex;\n    flex-direction: column;\n    gap: var(--w-space-1);\n    min-width: 0;\n  }\n\n  #mpc-moon-widget .widget-phase-name {\n    color: var(--w-text);\n    font-weight: 600;\n  }\n\n  #mpc-moon-widget .widget-illumination {\n    font-size: 0.85rem;\n    color: var(--w-text-muted);\n  }\n\n  #mpc-moon-widget .widget-row-full td,\n  #mpc-moon-widget .widget-row-new td {\n    background: rgba(120, 203, 255, 0.14);\n  }\n\n  #mpc-moon-widget .widget-cal-table tr.widget-row-today td {\n    border-top: 2px solid #FFD84D;\n    border-bottom: 2px solid #FFD84D;\n  }\n\n  #mpc-moon-widget .widget-cal-table tr.widget-row-today td:first-child {\n    border-left: 2px solid #FFD84D;\n  }\n\n  #mpc-moon-widget .widget-cal-table tr.widget-row-today td:last-child {\n    border-right: 2px solid #FFD84D;\n  }\n\n  #mpc-moon-widget a {\n    color: var(--w-accent);\n    text-decoration: underline;\n  }\n\n  #mpc-moon-widget a:hover {\n    color: #8fd4ff;\n  }\n\n  @media (max-width: 520px) {\n    #mpc-moon-widget .widget-card { padding: 1.5rem; }\n    #mpc-moon-widget .widget-cal-table th,\n    #mpc-moon-widget .widget-cal-table td { padding: 0.65rem 0.75rem; }\n    #mpc-moon-widget .widget-cell-detail { gap: var(--w-space-2); }\n    #mpc-moon-widget .widget-phase-img { width: 32px; height: 32px; }\n    #mpc-moon-widget .widget-month-title { font-size: 1.25rem; }\n    #mpc-moon-widget .widget-nav-btn { width: 2.5rem; height: 2.5rem; font-size: 1.25rem; }\n  }\n<\/style>\n\n<div class=\"widget-container\" id=\"mpc-moon-widget\">\n  <div class=\"widget-card\">\n    <div class=\"widget-header\">\n      <button class=\"widget-nav-btn\" id=\"mc-prev\" type=\"button\" aria-label=\"Mes anterior\">\u2039<\/button>\n      <h2 class=\"widget-month-title\" id=\"mc-month-display\"><\/h2>\n      <button class=\"widget-nav-btn\" id=\"mc-next\" type=\"button\" aria-label=\"Mes siguiente\">\u203a<\/button>\n    <\/div>\n\n    <table class=\"widget-cal-table\">\n      <thead>\n        <tr>\n          <th>D\u00eda<\/th>\n          <th>Fase de la Luna<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody id=\"mc-body\"><\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n\n<script>\n(function () {\n  'use strict';\n\n  \/\/ \u2500\u2500 c\u00e1lculo de la fase lunar (sin cambios) \u2500\u2500\n  class MoonPhase {\n    constructor(date = new Date()) {\n      this.date = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), 12, 0, 0));\n      const timestamp = Math.floor(this.date.getTime() \/ 1000);\n      this.timestamp = timestamp;\n      this.synmonth = 29.53058868;\n\n      const pdate = timestamp \/ 86400 + 2440587.5;\n      const epoch = 2444238.5;\n      const elonge = 278.833540, elongp = 282.596403, eccent = 0.016718;\n      const mmlong = 64.975464, mmlongp = 349.383063, mlnode = 151.950429;\n      const minc = 5.145396, mecc = 0.054900;\n\n      const Day = pdate - epoch;\n      const N = this.fixangle((360 \/ 365.2422) * Day);\n      const M = this.fixangle(N + elonge - elongp);\n      let Ec = this.kepler(M, eccent);\n      Ec = Math.sqrt((1 + eccent) \/ (1 - eccent)) * Math.tan(Ec \/ 2);\n      Ec = 2 * this.rad2deg(Math.atan(Ec));\n      const Lambdasun = this.fixangle(Ec + elongp);\n      const ml = this.fixangle(13.1763966 * Day + mmlong);\n      const MM = this.fixangle(ml - 0.1114041 * Day - mmlongp);\n      const MN = this.fixangle(mlnode - 0.0529539 * Day);\n      const Ev = 1.2739 * Math.sin(this.deg2rad(2 * (ml - Lambdasun) - MM));\n      const Ae = 0.1858 * Math.sin(this.deg2rad(M));\n      const MmP = MM + Ev - Ae - (0.37 * Math.sin(this.deg2rad(M)));\n      const mEc = 6.2886 * Math.sin(this.deg2rad(MmP));\n      const lP = ml + Ev + mEc - Ae + (0.214 * Math.sin(this.deg2rad(2 * MmP)));\n      const lPP = lP + (0.6583 * Math.sin(this.deg2rad(2 * (lP - Lambdasun))));\n      const NP = MN - 0.16 * Math.sin(this.deg2rad(M));\n      const y = Math.sin(this.deg2rad(lPP - NP)) * Math.cos(this.deg2rad(minc));\n      const x = Math.cos(this.deg2rad(lPP - NP));\n\n      this.lon = this.fixangle(this.rad2deg(Math.atan2(y, x)) + NP);\n      const MoonAge = lPP - Lambdasun;\n      this.phase = this.fixangle(MoonAge) \/ 360;\n      this.illum = (1 - Math.cos(this.deg2rad(MoonAge))) \/ 2;\n      this.age = this.synmonth * this.phase;\n    }\n\n    fixangle(a) { return a - 360 * Math.floor(a \/ 360); }\n    deg2rad(d) { return d * Math.PI \/ 180; }\n    rad2deg(r) { return r * 180 \/ Math.PI; }\n\n    kepler(m, ecc) {\n      let e = this.deg2rad(m), delta;\n      do {\n        delta = e - ecc * Math.sin(e) - this.deg2rad(m);\n        e -= delta \/ (1 - ecc * Math.cos(e));\n      } while (Math.abs(delta) > 1e-6);\n      return e;\n    }\n\n    calculateTruePhase(k, phase) {\n      const t = (k + phase) \/ 1236.85;\n      const t2 = t * t, t3 = t2 * t;\n      let pt = 2415020.75933 + 29.53058868 * (k + phase) + 0.0001178 * t2 - 0.000000155 * t3\n        + 0.00033 * Math.sin(this.deg2rad(166.56 + 132.87 * t - 0.009173 * t2));\n      const m = 359.2242 + 29.10535608 * (k + phase) - 0.0000333 * t2 - 0.00000347 * t3;\n      const mprime = 306.0253 + 385.81691806 * (k + phase) + 0.0107306 * t2 + 0.00001236 * t3;\n      if (phase < 0.01 || Math.abs(phase - 0.5) < 0.01) {\n        pt += (0.1734 - 0.000393 * t) * Math.sin(this.deg2rad(m)) - 0.4068 * Math.sin(this.deg2rad(mprime));\n      } else {\n        pt += (0.1721 - 0.0004 * t) * Math.sin(this.deg2rad(m)) - 0.6280 * Math.sin(this.deg2rad(mprime));\n      }\n      return pt;\n    }\n\n    getAccuratePhaseName() {\n      const sdate = (this.timestamp \/ 86400) + 2440587.5;\n      const yy = this.date.getUTCFullYear();\n      const mm = this.date.getUTCMonth() + 1;\n      const k1 = Math.floor((yy + ((mm - 1) \/ 12) - 1900) * 12.3685);\n      const phases = [0.0, 0.25, 0.5, 0.75];\n      const phaseNames = [\"New Moon\", \"First Quarter\", \"Full Moon\", \"Last Quarter\"];\n      for (let i = 0; i < phases.length; i++) {\n        for (let dk = 0; dk <= 1; dk++) {\n          if (Math.abs(this.calculateTruePhase(k1 + dk, phases[i]) - sdate) < 0.5) return phaseNames[i];\n        }\n      }\n      if (this.phase < 0.25) return \"Waxing Crescent\";\n      if (this.phase < 0.5) return \"Waxing Gibbous\";\n      if (this.phase < 0.75) return \"Waning Gibbous\";\n      return \"Waning Crescent\";\n    }\n  }\n\n  \/\/ \u2500\u2500 nombres de fase en espa\u00f1ol, simples y como los busca la gente \u2500\u2500\n  const phaseNamesEs = {\n    \"New Moon\": \"Luna Nueva\",\n    \"Waxing Crescent\": \"Luna Creciente\",\n    \"First Quarter\": \"Cuarto Creciente\",\n    \"Waxing Gibbous\": \"Gibosa Creciente\",\n    \"Full Moon\": \"Luna Llena\",\n    \"Waning Gibbous\": \"Gibosa Menguante\",\n    \"Last Quarter\": \"Cuarto Menguante\",\n    \"Waning Crescent\": \"Luna Menguante\"\n  };\n\n  const diasCortos = [\"dom\", \"lun\", \"mar\", \"mi\u00e9\", \"jue\", \"vie\", \"s\u00e1b\"];\n\n  \/\/ \u2500\u2500 funciones de ayuda \u2500\u2500\n  function getImageUrl(age) {\n    const imageNum = Math.round((age \/ 29.53058868) * 30) % 30;\n    return `https:\/\/moonagetoday.org\/wp-content\/uploads\/${imageNum}_moon.webp`;\n  }\n\n  function escapeHtml(str) {\n    return str.replace(\/&#038;\/g, '&amp;').replace(\/<\/g, '&lt;').replace(\/>\/g, '&gt;').replace(\/\"\/g, '&quot;');\n  }\n\n  function buildRow(dateObj, today) {\n    const moon = new MoonPhase(dateObj);\n    const phaseKey = moon.getAccuratePhaseName();\n    const phaseName = phaseNamesEs[phaseKey] || phaseKey;\n\n    const rowClasses = [];\n    if (phaseKey === \"Full Moon\") rowClasses.push('widget-row-full');\n    else if (phaseKey === \"New Moon\") rowClasses.push('widget-row-new');\n    if (dateObj.getUTCFullYear() === today.getUTCFullYear() &&\n        dateObj.getUTCMonth() === today.getUTCMonth() &&\n        dateObj.getUTCDate() === today.getUTCDate()) {\n      rowClasses.push('widget-row-today');\n    }\n\n    const dayLabel = `${dateObj.getUTCDate()} ${diasCortos[dateObj.getUTCDay()]}`;\n    const safeName = escapeHtml(phaseName);\n\n    return `\n      <tr class=\"${rowClasses.join(' ')}\">\n        <td class=\"widget-cell-date\">${dayLabel}<\/td>\n        <td>\n          <div class=\"widget-cell-detail\">\n            <img decoding=\"async\" class=\"widget-phase-img\" src=\"${getImageUrl(moon.age)}\" alt=\"${safeName}\">\n            <div class=\"widget-phase-info\">\n              <strong class=\"widget-phase-name\">${safeName}<\/strong>\n              <span class=\"widget-illumination\">Iluminaci\u00f3n: ${(moon.illum * 100).toFixed(1)}%<\/span>\n            <\/div>\n          <\/div>\n        <\/td>\n      <\/tr>`;\n  }\n\n  \/\/ \u2500\u2500 estado \u2500\u2500\n  const today = new Date();\n  const viewDate = new Date(Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), 1));\n\n  const monthDisplay = document.getElementById('mc-month-display');\n  const tbody = document.getElementById('mc-body');\n\n  function renderCalendar() {\n    const year = viewDate.getUTCFullYear();\n    const month = viewDate.getUTCMonth();\n    const daysInMonth = new Date(Date.UTC(year, month + 1, 0)).getUTCDate();\n\n    const nombreMes = viewDate.toLocaleDateString('es-ES', { month: 'long', year: 'numeric', timeZone: 'UTC' });\n    monthDisplay.textContent = nombreMes.charAt(0).toUpperCase() + nombreMes.slice(1);\n\n    let rows = '';\n    for (let day = 1; day <= daysInMonth; day++) {\n      rows += buildRow(new Date(Date.UTC(year, month, day, 12, 0, 0)), today);\n    }\n    tbody.innerHTML = rows;\n  }\n\n  document.getElementById('mc-prev').addEventListener('click', () => {\n    viewDate.setUTCMonth(viewDate.getUTCMonth() - 1);\n    renderCalendar();\n  });\n\n  document.getElementById('mc-next').addEventListener('click', () => {\n    viewDate.setUTCMonth(viewDate.getUTCMonth() + 1);\n    renderCalendar();\n  });\n\n  renderCalendar();\n})();\n<\/script>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-3a88641f wp-block-columns-is-layout-flex\" style=\"border-width:1px;border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<h2 class=\"wp-block-heading has-text-align-center\">Related<\/h2>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><a href=\"https:\/\/moonagetoday.org\/es\/\" data-type=\"page\" data-id=\"12\">Fase Lunar Hoy<\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Sigue la fase lunar mes a mes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nuestro calendario lunar 2026 te permite conocer al instante la fase actual de la Luna o consultar las fases futuras de cualquier mes del a\u00f1o. Solo tienes que desplazarte entre los diferentes meses utilizando las flechas de navegaci\u00f3n situadas en la parte superior.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con esta herramienta puedes descubrir f\u00e1cilmente cu\u00e1ndo ocurrir\u00e1n las principales fases lunares, como la Luna nueva, la Luna llena, el Cuarto creciente y el Cuarto menguante, adem\u00e1s de observar c\u00f3mo cambia la apariencia de la Luna durante todo el ciclo lunar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo entender el calendario de fases lunares<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Al explorar nuestro calendario lunar interactivo, podr\u00e1s ver c\u00f3mo la Luna cambia progresivamente a trav\u00e9s de sus fases principales e intermedias. Utiliza la navegaci\u00f3n mensual para encontrar las fechas exactas, el porcentaje de iluminaci\u00f3n y una representaci\u00f3n visual de cada fase lunar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El porcentaje de iluminaci\u00f3n lunar indica qu\u00e9 parte de la superficie visible de la Luna refleja la luz del Sol hacia la Tierra. Durante la Luna nueva, la iluminaci\u00f3n es del 0 %; en el Cuarto creciente y el Cuarto menguante alcanza aproximadamente el 50 %; y en la Luna llena llega al 100 %.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo entender el calendario de fases lunares<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Al explorar nuestro calendario lunar interactivo, podr\u00e1s ver c\u00f3mo la Luna cambia progresivamente a trav\u00e9s de sus fases principales e intermedias. Utiliza la navegaci\u00f3n mensual para encontrar las fechas exactas, el porcentaje de iluminaci\u00f3n y una representaci\u00f3n visual de cada fase lunar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El porcentaje de iluminaci\u00f3n lunar indica qu\u00e9 parte de la superficie visible de la Luna refleja la luz del Sol hacia la Tierra. Durante la Luna nueva, la iluminaci\u00f3n es del 0 %; en el Cuarto creciente y el Cuarto menguante alcanza aproximadamente el 50 %; y en la Luna llena llega al 100 %.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Calendario de fases lunares 2026 Consulta las fases de la Luna de cada d\u00eda, el porcentaje de iluminaci\u00f3n lunar y las fechas exactas de la Luna nueva y la Luna llena mes a mes a continuaci\u00f3n. \u2039 \u203a D\u00eda Fase de la Luna Related Fase Lunar Hoy Sigue la fase lunar mes a mes Nuestro [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-28","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/moonagetoday.org\/es\/wp-json\/wp\/v2\/pages\/28","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/moonagetoday.org\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/moonagetoday.org\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/moonagetoday.org\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/moonagetoday.org\/es\/wp-json\/wp\/v2\/comments?post=28"}],"version-history":[{"count":4,"href":"https:\/\/moonagetoday.org\/es\/wp-json\/wp\/v2\/pages\/28\/revisions"}],"predecessor-version":[{"id":51,"href":"https:\/\/moonagetoday.org\/es\/wp-json\/wp\/v2\/pages\/28\/revisions\/51"}],"wp:attachment":[{"href":"https:\/\/moonagetoday.org\/es\/wp-json\/wp\/v2\/media?parent=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}