2012-07-11 158 views

回答

5

以下是工作代码!希望这可以帮助任何人......!

var d = new Date(); 
     var to = d.setTime(d.getTime() - (d.getDay() ? d.getDay() : 7) * 24 * 60 * 60 * 1000); 
     var from = d.setTime(d.getTime() - 6 * 24 * 60 * 60 * 1000); 
alert(to); 
alert(from); 
0

可以使用Date.js

Date.today().previous().monday() 

可能是它为你工作。

+0

我不想使用date.js,有没有其他的替代?请咨询 – 2012-07-11 11:32:48

+0

然后制作一个功能。 – 2012-07-11 11:34:44

0

获取该月的最后一天:

/** 
* Accepts either zero, one, or two parameters. 
*  If zero parameters: defaults to today's date 
*  If one parameter: Date object 
*  If two parameters: year, (zero-based) month 
*/ 
function getLastDay() { 
    var year, month; 
    var lastDay = new Date(); 

    if (arguments.length == 1) { 
     lastDay = arguments[0]; 
    } else if (arguments.length > 0) { 
     lastDay.setYear(arguments[0]); 
     lastDay.setMonth(arguments[1]); 
    } 

    lastDay.setMonth(lastDay.getMonth() + 1); 
    lastDay.setDate(0); 

    return lastDay; 
} 

获得的最后一个星期一:

/** 
* Accepts same parameters as getLastDay() 
*/ 
function getLastMonday() { 
    var lastMonday = getLastDay.apply(this, arguments); 
    lastMonday.setDate(lastMonday.getDate() - (lastMonday.getDay() == 0 ? 6 : (lastMonday.getDay() - 1))); 
    return lastMonday; 
} 

现在做你的工作,你可以做

/** 
* Accepts one parameter: Date object. 
* Assumes start of week is Sunday. 
*/ 
function getWeek(d) { 
    var jan1 = new Date(d.getFullYear(), 0, 1); 
    return Math.ceil((((d - jan1)/(24 * 60 * 60 * 1000)) + jan1.getDay() + 1)/7); 
} 

然后用

// Get the last week of this month: 
var lastWeekThisMonth = getWeek(getLastDay()); 
Alert("lastWeekThisMonth: %s", lastWeekThisMonth); 
相关问题