javascript - 使用 Javascript 获取基于 future 日期的先前日期

标签 javascript jquery

理想情况下,我想做的是在一个输入字段上附加一个日期选择器,例如让某人及时选择一个 future 的日期。 [写这篇文章时今天是 08/09/2013 并得到 07/31/2013 作为返回。]

我希望无论选择什么日期,使用 javascript 的输入字段始终将值默认为一周之前的星期三 - 这是初始选择的日期值。

function getWednesday(date) {
    var d = (date.getDay() == 0 ? 6 : date.getDay() - 3);
    date.setTime(date.getTime() - (d * 24 * 60 * 60 * 1000));
    return date;
}

这只会返回本周的星期三。我对 javascript 函数 getDay 的理解只会返回 0-6 代表太阳-sat。 setTime 函数采用自 1970 年 1 月 1 日以来的毫秒字符串,并转换为实际日期时间,而 getTime 则恰恰相反。我不确定我是否采取了正确的方法来可靠地解决问题。在此先感谢您的帮助

最佳答案

好的,这是我能想到的最聪明的方法:

function prevWed(inDate){
  var adder=(3-inDate.getDay());
  var d=new Date(inDate.getFullYear(), inDate.getMonth(), inDate.getDate() + adder - 7);
  return d
}

更小:

return new Date(inDate.getFullYear(), inDate.getMonth(), inDate.getDate() + (3-inDate.getDay()) - 7);

这行得通吗?

关于javascript - 使用 Javascript 获取基于 future 日期的先前日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18154484/

相关文章:

javascript - Wavesurfer.js : How to display custom markers?

javascript - jquery 根据浏览器宽度改变

javascript - 为什么这一小段 jQuery 会搞乱我的 JavaScript 的其余部分?

c# - 从代码隐藏 (ASP.NET C#) 到 ASPX 中的图像概览的图像列表

javascript - 在混合基础 url 下动态加载 require.js 模块

javascript - 如何使用 OpenLayer 和 WFS 过滤特征?

javascript - 提高页面性能,在服务器上保存 PHP 数组?

javascript - Puppeteer 获取数据属性包含选择器

javascript - 无法执行操作的 php 按钮

php session 不支持 ajax