希望实现点击上月份按钮时,开始日期显示上个月的第一个星期一,结束日期显示下个月第一个星期一的前一天,比如今天是10月X号,点击上月份,显示开始日期是2012-09-04,结束日期是2012-10-01,但我需要显示的开始日期应该是2012-09-03(9月的第一个星期一),结束日期应该是2012-09-30(10月的第一个星期一的前一天)。
现在asp前台这样设置: <input type="button" onClick="javascript:getDateStr(6);" value="上月份" ; 
然后现有代码如下,
function getDateStr(wDate)
{...
else if (wDate == 6) { 
with (sDate = new Date())
setDate(1 + 7 * (1 - 1) + (90 + 1 + getDate() - getDay()) % 7) 
var nDate = new Date() 
var tDate = nDate.getDate()
var tTime = nDate.getHours()
if (tTime < 12) {
if (tDate == sDate.getDate()) {
with (sDate = new Date())
setMonth(getMonth() - 1), setDate(1 + 7 * (1 - 1) + (90 + 1 + getDate() - getDay()) % 7) 
var tYear = sDate.getFullYear() 
var tMonth = sDate.getMonth() + 1
var tDate = padlength(sDate.getDate()) 
var fdayStr = tYear + "-" + padlength(tMonth) + "-" + tDate document.aspnetForm.ctl00_ContentPlaceHolder1_beginDateTextBox.value = fdayStr;
//alert(fdayStr + "~1"); 
}
else { 
with (sDate = new Date()) setDate(1 + 7 * (1 - 1) + (90 + 1 + getDate() - getDay()) % 7)
var tYear = sDate.getFullYear() 
var tMonth = sDate.getMonth() + 1
var tDate = padlength(sDate.getDate()) 
var fdayStr = tYear + "-" + padlength(tMonth) + "-" + tDate 
document.aspnetForm.ctl00_ContentPlaceHolder1_endDateTextBox.value = fdayStr;


else {
with (sDate = new Date())
setDate(1 + 7 * (1 - 1) + (90 + 1 + getDate() - getDay()) % 7) 
var tYear = sDate.getFullYear() 
var tMonth = sDate.getMonth() + 1
var tDate = padlength(sDate.getDate()) 
var dayStr = tYear + "-" + padlength(tMonth) + "-" + tDate 
document.aspnetForm.ctl00_ContentPlaceHolder1_endDateTextBox.value = dayStr;

var nDate = new Date(sDate.toString())
nDate.setDate(sDate.getDate() - 27) 
var fYear = nDate.getFullYear() 
var fMonth = nDate.getMonth() + 1
var fDate = padlength(nDate.getDate())
var fdayStr = fYear + "-" + padlength(fMonth) + "-" + fDate 
document.aspnetForm.ctl00_ContentPlaceHolder1_beginDateTextBox.value = fdayStr;
}
}
运行之后,那应该如何修改上段代码呢?求高手指点,谢谢!