應援企劃

8Articles

Stay Informed With the Latest & Most Important News

訂閱後,你將優先收到VTuberVibes的重大更新與重要消息。確認信可能會出現在垃圾郵件,請留意收件匣與垃圾信箱。

Categories

Advertisement

Search
Popular Now
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...

(function () { function isValidDate(value) { const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(value); if (!match) { return false; } const year = Number(match[1]); const month = Number(match[2]); const day = Number(match[3]); const testDate = new Date(Date.UTC(year, month - 1, day)); return ( testDate.getUTCFullYear() === year && testDate.getUTCMonth() === month - 1 && testDate.getUTCDate() === day ); } function updateSupportAdStatus() { const parts = new Intl.DateTimeFormat("en-US", { timeZone: "Asia/Taipei", year: "numeric", month: "2-digit", day: "2-digit" }).formatToParts(new Date()); const date = Object.fromEntries( parts.map(function (part) { return [part.type, part.value]; }) ); const today = date.year + "-" + date.month + "-" + date.day; document .querySelectorAll( ".support-ad-status[data-start][data-end]" ) .forEach(function (element) { const start = element.dataset.start; const end = element.dataset.end; let status; if ( !isValidDate(start) || !isValidDate(end) || start > end ) { element.textContent = "活動日期待確認"; element.dataset.status = "error"; return; } if (today < start) { status = "upcoming"; element.textContent = "即將展出"; } else if (today <= end) { status = "active"; element.textContent = "展出中"; } else { status = "ended"; element.textContent = "已結束"; } element.dataset.status = status; }); } if (document.readyState === "loading") { document.addEventListener( "DOMContentLoaded", updateSupportAdStatus ); } else { updateSupportAdStatus(); } })();