Javascript / Ajax如何在用户输入的周数之前查找日期

时间:2011-09-06 10:18:15

标签: javascript

我从系统中获取一个日期“截止日期” 对于某些应用程序,我有一个要求,例如用户将动态输入周数,从这些周数我必须使用以下公式找到日期: -

截止日期=截止日期 - 周

如果你有任何解决方案,请帮忙! --Snehal

3 个答案:

答案 0 :(得分:0)

JS中内置了一个Date对象。此外,大多数JS库都具有更多功能的Date对象。

使用日期对象,您可以将其转换为时间戳,并减去一周中的秒数乘以用户输入的周数,根据您的需要向下或向上舍入。

在以下位置阅读有关JS Date对象的更多信息:http://www.w3schools.com/jsref/jsref_obj_date.asp

答案 1 :(得分:0)

试试这个:

var  time = new Date().getTime();
var week =604800000;// 7*24*3600*1000;
var threeWeeksBefore = new Date(time - 3 * week);
var sixWeeksFromNow  = new Date(time + 6 * week);

http://jsfiddle.net/aqwEv/

答案 2 :(得分:0)

您可以通过添加天而不是秒来避免夏令时奇怪

Date.prototype.addWeeks= function(n, hours, mins){
    var due= new Date(this);
    if(typeof hours== 'number'){
        if(typeof mins!== 'number') mins= 0;
        due.setHours(hours, mins, 0, 0);
    }
    due.setDate(due.getDate()+(n*7));
    return due;
}

新Date()。addWeeks(2) //与Date同时发生 2011年9月20日星期二09:53:56

新日期()。addWeeks(2,0) //午夜 2011年9月20日星期二00:00:00

新日期()。addWeeks(2,7,30) //设置小时&&分钟 Tue Sep 20 2011 07:30:00