You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript实现按日期切换文本且指定日期后永久显示固定内容

日期切换文本功能调整方案

你原有代码的问题是仅判断当前日期是否完全等于2021-12-05,过了当日之后就会恢复显示B,不符合永久显示A的需求,调整方案如下:

最简修改方案

直接将相等判断改为大于等于判断即可,YYYY-MM-DD格式的ISO日期字符串的字典排序和日期实际先后顺序完全一致,可直接比较:

document.getElementById('test').innerHTML = today.toISOString().substring(0, 10) >= '2021-12-05' ? 'A' : 'B';

适配本地时区的优化方案

如果需要匹配用户本地时区的日期,避免UTC时间和本地时间的时区差导致判断提前/延后,可使用本地日期格式化的判断方式:

// 生成本地时区的 YYYY-MM-DD 格式日期字符串
const localDate = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, '0')}-${String(today.getDate()).padStart(2, '0')}`
document.getElementById('test').innerHTML = localDate >= '2021-12-05' ? 'A' : 'B';

时间戳比较方案

不需要处理字符串格式化,直接比较毫秒时间戳,逻辑更严谨:

// 注意Date构造函数的月份参数从0开始计数,12月对应值为11
const targetTime = new Date(2021, 11, 5).getTime();
document.getElementById('test').innerHTML = today.getTime() >= targetTime ? 'A' : 'B';

以上三种方案都可以实现2021年12月5日之前显示B,当日及之后永久显示A的需求,无需后续更新代码。

内容的提问来源于stack exchange,提问作者iamnew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:54:03