javascript - 在 JavaScript 中计算日期

标签 javascript jquery datetime date time

我目前正在寻找用 JavaScript 计算自定义日期的方法,一想到它我的头就开始痛。我有一个倒计时时钟,每隔一个星期二中午 12 点开始计时。我使用 Keith Wood 的 jQuery 倒计时插件使倒计时功能正常工作,但在计算每个月的每隔一个星期二并在这一天重置时需要帮助。

一如既往地感谢所有帮助。

提前致谢

最佳答案

我不得不做类似的事情(不是在 JS 中,但算法足够相似)

现在,在我开始之前,我要澄清一下,我假设这是每两周发生一次的事情,无论该月的长度如何,不会在第二个和第四个星期二发生,无论它最后一次发生的时间, 这更容易解决

选择此事件发生的过去日期(或第一次发生的日期),我们将在以下代码中调用此日期base

var base=new Date('date of first occurrence');
var one_day=1000*60*60*24; //length of day in ms

// assume we care about if the countdown should start today 
// this may be different if you are building a calendar etc.
var date_to_check=new Date();

var diff_in_days=math.floor(date_to_check-base)/one_day);
var days_since_last_reset= diff_in_days%14;
if(days_since_last_reset == 0){
    //date_to_check is the same day in the fortnightly cycle as base
    //i.e. today at some point is when you'll want to show the timer
    //If you only want to show the timer between certain times,
    //add another check here
}else{
    //next reset in (14 - days_since_last_reset) days from date_to_check
}

或者代码高尔夫风格的版本:

if( Math.floor((new Date()-new Date('date of first occurrence'))/1000/60/60/24)%14 == 0 )
    //reset/start timer

关于javascript - 在 JavaScript 中计算日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4812152/

相关文章:

javascript - 这种 Ajax 方法适用于许多浏览器和操作系统吗?

jquery - 单击按钮时不显示 ajax 弹出窗口

c# - DateTime.TryParseExact 为本地化日期返回 false

PHP 比较 DateTimeZone 对象

javascript - 选择特定目标 jQuery

python - 在 python 中得到错误的时间增量

javascript - 如何很好地修改大量元素的属性?

javascript - 如何使用 PHP 变量运行 JavaScript

javascript - 使用 D3 JS 在桑基图中显示百分比

javascript - 如何在用户打开新选项卡或网站处于非事件状态时重新启动 css 动画