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

如何根据当日时间设置判断条件实现日历日期自动切换

问题原因

你现有逻辑的判断条件写的有问题,hoursNow > 17 && minutesNow > 30要求两个条件同时满足,会出现两个异常:

  • 18:00~18:29区间:小时满足大于17,但分钟不足30,不会触发加1天
  • 19:00~次日17:59区间里,所有小时大于18但分钟小于30的时间(比如19:20、20:15等),也会因为分钟不满足条件不会触发,完全不符合你18:30后生效的需求

另外你计算小时用的是UTC时间偏移得到莫斯科时间,但分钟取的是运行环境的本地分钟,二者时区不统一,非莫斯科时区运行时会出现时间偏差。


修正后代码

JS 代码

let date = new Date();
// 统一用UTC时间计算莫斯科(UTC+3)的时分,避免时区不一致问题,加3后取模24处理小时溢出
let hoursNow = (date.getUTCHours() + 3) % 24; 
let minutesNow = date.getUTCMinutes(); 
// 正确判断逻辑:19点及以后 或 18点且分钟≥30
if (hoursNow > 18 || (hoursNow === 18 && minutesNow >= 30)) {
  date.setDate(date.getDate() + 1);
}

// 俄文月份配置
const month=["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"];

document.querySelector('.text_block').innerHTML = date.getDate() + ' ' + month[date.getMonth()];

HTML 代码

<div class="text_block"></div>

内容的提问来源于stack exchange,提问作者Александр Сорокин

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 02:15:00