希望实现点击上月份按钮时,开始日期显示上个月的第一个星期一,结束日期显示下个月第一个星期一的前一天,比如今天是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;
}
}
运行之后,那应该如何修改上段代码呢?求高手指点,谢谢!
现在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;
}
}
运行之后,那应该如何修改上段代码呢?求高手指点,谢谢!
解决方案 »
- 求一个js的后台批量打印函数的例子
- |zyciis| Js有没有像C#的 decimal.ToString("#.0000"); 这样格式化金额的,谢谢
- 求《javascript高级程序设计》的电子版下载地址
- 关于javascript和xml的一个小问题
- window.focus() 遇到发生错误,说类不支持Automation!
- 如何获取同一个框架内外部网页的元素???
- 如何用js读取jsp网页中的列表字段值?
- 求正则!>用户名由a-z的英文字母,不区分带小写、0-9的数字、减号或下划线组成
- 谁有关于html标记属性的动态绑定的资料?
- 高分求向右展开的菜单
- [原型扩展] 实用型功能函数集合
- select option 默认选中
在这函数里每一条语句,就把wDate减一天。
在这函数里第一条语句,就把wDate减一天。
我在enddate显示那里减了一天,是可以显示9月3-9月30了,等过几天到11月再测试一下,谢谢!