理想情况下,我想做的是在一个输入字段上附加一个日期选择器,例如让某人及时选择一个 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/