{"id":5009,"date":"2025-06-10T14:04:08","date_gmt":"2025-06-10T12:04:08","guid":{"rendered":"https:\/\/cronopiosidiomas.com\/%e6%97%a5%e5%8e%86\/"},"modified":"2026-03-24T12:05:38","modified_gmt":"2026-03-24T11:05:38","slug":"%e6%97%a5%e5%8e%86","status":"publish","type":"page","link":"https:\/\/cronopiosidiomas.com\/zh-hans\/%e6%97%a5%e5%8e%86\/","title":{"rendered":"\u65e5\u5386"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5009\" class=\"elementor elementor-5009 elementor-4318\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-46afe73 e-flex e-con-boxed e-con e-parent\" data-id=\"46afe73\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-4587810 e-con-full e-flex e-con e-child\" data-id=\"4587810\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-98abf1a elementor-widget elementor-widget-heading\" data-id=\"98abf1a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">\u6821\u5386<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-70738f8 elementor-widget elementor-widget-heading\" data-id=\"70738f8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">2026 \u5e74\u65e5\u5386<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a035e8f e-flex e-con-boxed e-con e-parent\" data-id=\"a035e8f\" 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-0d85ad4 elementor-widget elementor-widget-html\" data-id=\"0d85ad4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>.yearcal26 {\n    --bg: #F6F1ED;\n    --text: #000;\n    --month: #3f3f3f;\n    --line: #6a58b5;\n    --outside: #777;\n\n    --festivo: #e9a8a3;\n    --ccse: #eccb86;\n    --dele-sat: #c9b6e7;\n    --dele-fri: #a8be92;\n    --course: #a9bce6;\n  }\n\n  .yearcal26 {\n    background: var(--bg);\n    padding: 0px 0px 0px;\n    font-family: Arial, Helvetica, sans-serif;\n    color: var(--text);\n  }\n\n  .yearcal26-wrap {\n    max-width: 1200px;\n    margin: 0 auto;\n  }\n\n  .yearcal26-header {\n    text-align: center;\n    margin-bottom: 10px;\n  }\n\n  .yearcal26-header h2 {\n    margin: 0;\n    font-size: 18px;\n    font-weight: 700;\n    color: var(--month);\n  }\n\n  .yearcal26-header p {\n    margin: 6px 0 0;\n    font-size: 12px;\n    color: #fff;\n  }\n\n  .yearcal26-legend {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: center;\n    gap: 10px 20px;\n    margin: 0 0 22px;\n    font-size: 12px;\n  }\n\n  .yearcal26-legend-item {\n    display: inline-flex;\n    align-items: center;\n    gap: 20px;\n  }\n\n  .yearcal26-legend-swatch {\n    width: 24px;\n    height: 24px;\n    border-radius: 999px;\n    display: inline-block;\n  }\n\n  .yearcal26-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 20px 40px;\n  }\n\n  .yearcal26-month {\n    min-width: 0;\n  }\n\n  .yearcal26-month-name {\n    text-align: center;\n    margin: 0 0 10px;\n    font-size: 18px;\n    font-weight: 700;\n    color: var(--month);\n  }\n\n.yearcal26-table {\n  width: 100%;\n  border-collapse: collapse; \/* IMPORTANT *\/\n  table-layout: fixed;\n}\n  }\n\n  .yearcal26-table thead th {\n    padding: 10px 0 10px;\n    font-size: 14px;\n    font-weight: 700;\n    color: var(--text);\n    border-top: 0px solid var(--line);\n    border-bottom: 4px solid var(--line);\n  }\n\n  .yearcal26-table tbody td {\n    text-align: center;\n    vertical-align: middle;\n    padding: 0;\n    height: 40px;\n    font-size: 14px;\n  }\n\n  .yearcal26-day {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-width: 24px;\n    height: 24px;\n    padding: 0 10px;\n    border-radius: 20px;\n    color: var(--text);\n    line-height: 1;\n  }\n\n  .outside .yearcal26-day {\n    color: var(--outside);\n  }\n\n  .festivo .yearcal26-day { background: var(--festivo); }\n  .ccse .yearcal26-day { background: var(--ccse); }\n  .dele-sat .yearcal26-day { background: var(--dele-sat); }\n  .dele-fri .yearcal26-day { background: var(--dele-fri); }\n  .course .yearcal26-day { background: var(--course); }\n\n  @media (max-width: 920px) {\n    .yearcal26-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n<\/style><div class=\"yearcal26\"><div class=\"yearcal26-wrap\"><div class=\"yearcal26-header\"><\/div><div class=\"yearcal26-legend\"><span class=\"yearcal26-legend-item\"><span class=\"yearcal26-legend-swatch\" style=\"background:#e9a8a3\"><\/span> Holidays<\/span><span class=\"yearcal26-legend-item\"><span class=\"yearcal26-legend-swatch\" style=\"background:#eccb86\"><\/span> CCSE Exam<\/span><span class=\"yearcal26-legend-item\"><span class=\"yearcal26-legend-swatch\" style=\"background:#c9b6e7\"><\/span> DELE Saturday<\/span><span class=\"yearcal26-legend-item\"><span class=\"yearcal26-legend-swatch\" style=\"background:#a8be92\"><\/span> DELE Friday<\/span><span class=\"yearcal26-legend-item\"><span class=\"yearcal26-legend-swatch\" style=\"background:#a9bce6\"><\/span> A1 Course<\/span><\/div><div id=\"yearcal26-grid\" class=\"yearcal26-grid\"><\/div><\/div><\/div><script>(function () {\n  const year = 2026;\n\n  const monthNames = [\n    \"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\n    \"July\",\"August\",\"September\",\"October\",\"November\",\"December\"\n  ];\n\n  const dayNames = [\"M\",\"T\",\"W\",\"T\",\"F\",\"S\",\"S\"];\n\n  const marks = {\n    festivo: [\n      \"2025-12-29\",\"2025-12-30\",\"2025-12-31\",\n      \"2026-01-01\",\"2026-01-02\",\"2026-01-03\",\"2026-01-04\",\"2026-01-06\",\n\n      \"2026-03-30\",\"2026-03-31\",\n      \"2026-04-01\",\"2026-04-02\",\"2026-04-03\",\"2026-04-04\",\"2026-04-05\",\n\n      \"2026-05-01\",\"2026-05-15\",\n\n      \"2026-10-12\",\n\n      \"2026-11-02\",\"2026-11-09\",\n\n      \"2026-12-07\",\"2026-12-08\",\n      \"2026-12-21\",\"2026-12-22\",\"2026-12-23\",\"2026-12-24\",\"2026-12-25\",\"2026-12-26\",\"2026-12-27\",\n      \"2026-12-28\",\"2026-12-29\",\"2026-12-30\",\"2026-12-31\",\n      \"2027-01-01\",\"2027-01-02\",\"2027-01-03\"\n    ],\n    ccse: [\n      \"2026-01-27\",\"2026-01-29\",\n      \"2026-02-24\",\"2026-02-26\",\n      \"2026-03-24\",\"2026-03-26\",\n      \"2026-04-28\",\"2026-04-30\",\n      \"2026-05-26\",\"2026-05-28\",\n      \"2026-06-23\",\"2026-06-25\",\n      \"2026-07-28\",\"2026-07-30\",\n      \"2026-09-22\",\"2026-09-24\",\n      \"2026-10-27\",\"2026-10-29\",\n      \"2026-11-24\",\"2026-11-26\"\n    ],\n    \"dele-sat\": [\n      \"2026-05-23\",\n      \"2026-10-17\",\n      \"2026-11-14\"\n    ],\n    \"dele-fri\": [\n      \"2026-02-13\",\n      \"2026-04-17\",\n      \"2026-10-16\",\n      \"2026-11-13\"\n    ],\n    course: [\n      \"2026-01-05\",\n      \"2026-02-02\",\n      \"2026-03-02\",\n      \"2026-04-06\",\n      \"2026-05-04\",\n      \"2026-06-01\",\"2026-06-29\",\n      \"2026-08-03\",\"2026-08-31\",\n      \"2026-10-05\",\n      \"2026-11-03\"\n    ]\n  };\n\n  const priority = [\"festivo\", \"ccse\", \"dele-sat\", \"dele-fri\", \"course\"];\n\n  function pad(n) {\n    return String(n).padStart(2, \"0\");\n  }\n\n  function dateKey(y, m, d) {\n    return `${y}-${pad(m + 1)}-${pad(d)}`;\n  }\n\n  function mondayIndex(jsDay) {\n    return (jsDay + 6) % 7;\n  }\n\n  function getMarkClass(key) {\n    for (const type of priority) {\n      if (marks[type] && marks[type].includes(key)) return type;\n    }\n    return \"\";\n  }\n\n  function buildMonth(year, month) {\n    const first = new Date(year, month, 1);\n    const daysInMonth = new Date(year, month + 1, 0).getDate();\n    const prevMonthLastDay = new Date(year, month, 0).getDate();\n    const startOffset = mondayIndex(first.getDay());\n\n    let html = `\n      <div class=\"yearcal26-month\"><h3 class=\"yearcal26-month-name\">${monthNames[month]}<\/h3><table class=\"yearcal26-table\"><thead><tr>${dayNames.map(d => `<th>${d}<\/th>`).join(\"\")}<\/tr><\/thead><tbody>`;\n\n    let currentDay = 1;\n    let nextMonthDay = 1;\n\n    for (let week = 0; week < 5; week++) {\n      html += \"<tr>\";\n\n      for (let col = 0; col < 7; col++) {\n        let y = year, m = month, d, outside = false;\n\n        if (week === 0 && col < startOffset) {\n          d = prevMonthLastDay - startOffset + col + 1;\n          outside = true;\n          if (month === 0) {\n            y = year - 1;\n            m = 11;\n          } else {\n            m = month - 1;\n          }\n        } else if (currentDay > daysInMonth) {\n          d = nextMonthDay++;\n          outside = true;\n          if (month === 11) {\n            y = year + 1;\n            m = 0;\n          } else {\n            m = month + 1;\n          }\n        } else {\n          d = currentDay++;\n        }\n\n        const key = dateKey(y, m, d);\n        const markClass = getMarkClass(key);\n        const cellClass = `${outside ? \"outside \" : \"\"}${markClass}`.trim();\n\n        html += `\n          <td class=\"${cellClass}\"><span class=\"yearcal26-day\">${d}<\/span><\/td>`;\n      }\n\n      html += \"<\/tr>\";\n\n      if (currentDay > daysInMonth && nextMonthDay > 7) break;\n    }\n\n    html += `\n          <\/tbody><\/table><\/div>`;\n\n    return html;\n  }\n\n  document.getElementById(\"yearcal26-grid\").innerHTML =\n    Array.from({ length: 12 }, (_, m) => buildMonth(year, m)).join(\"\");\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u6821\u5386 2026 \u5e74\u65e5\u5386 Holidays CCSE Exam DELE Saturday DELE Frida [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":3862,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-5009","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/cronopiosidiomas.com\/zh-hans\/wp-json\/wp\/v2\/pages\/5009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cronopiosidiomas.com\/zh-hans\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cronopiosidiomas.com\/zh-hans\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cronopiosidiomas.com\/zh-hans\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/cronopiosidiomas.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=5009"}],"version-history":[{"count":5,"href":"https:\/\/cronopiosidiomas.com\/zh-hans\/wp-json\/wp\/v2\/pages\/5009\/revisions"}],"predecessor-version":[{"id":9494,"href":"https:\/\/cronopiosidiomas.com\/zh-hans\/wp-json\/wp\/v2\/pages\/5009\/revisions\/9494"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cronopiosidiomas.com\/zh-hans\/wp-json\/wp\/v2\/media\/3862"}],"wp:attachment":[{"href":"https:\/\/cronopiosidiomas.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=5009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}