输入参数:年份,第几周。返回参数:该周起始月日。比如:输入参数 年份2012 ,第2周。返回参数 1月8日 到 1月14日
求实现上述功能的函数。
求实现上述功能的函数。
解决方案 »
- .net如何获取客户端用户访问网址的域名
- ASP.NET中关于向客户端输出文件内容的问题
- javascript调用后台方法的问题
- 请问这样的正则如何写啊?
- ListBox内容过长 如何让该项滚动(非滚动条)
- GRIDVIEW-RowCreate 如何取GRIDVIEW中的主键
- ※※具有css样式编辑的 WebNote Editor【For .Net】在线编辑器
- 使用Gridview的时候,当绑定的dataset记录数为零的时候,能不能把这个Gridview的表格头给显示出来?
- 请教一个在STUDIO.NET中开发ASP.NET的问题
- 用SqlBulkCopy批量插入数据时提示来自数据源的 String 类型的给定值不能转换为指定目标列的类型 int。
- asp.net里怎么控制临界资源??
- 有没有办法打开application的时候先检查是否已经打开?
var startDate = new Date();
startDate.setFullYear(year, 0, 1); //变态的js月份从0开始
var dayOfWeek = startDate.getDay();
var count = 0;
var weekCount = 1;
if (weekCount === week) {
return startDate;
}
else {
while (weekCount !== week) {
startDate.setDate(startDate.getDate() + 7);
weekCount++;
}
while (dayOfWeek > 0) {
startDate.setDate(startDate.getDate() - 1);
dayOfWeek = startDate.getDay();
}
}
return startDate;
}
得到了开始日期,结束日期只要+6就行了: function getEndDate(startDate, year) {
var endDate = new Date(startDate);
if (startDate.getMonth() === 11 && startDate.getDate() > 25) {
endDate.setFullYear(year, 11, 31);
}
else {
endDate.setDate(startDate.getDate() + 6);
}
return endDate;
}
如果需要包括前一年/后一年的日期,上面的代码稍微修改一下: function getStartDateByWeek(year, week) {
var startDate = new Date();
startDate.setFullYear(year, 0, 1); //变态的js月份从0开始
var dayOfWeek = startDate.getDay();
var count = 0;
var weekCount = 1;
if (weekCount === week) {
startDate.setFullYear(year - 1, 11, 31);
dayOfWeek = startDate.getDay();
while (dayOfWeek > 0) {
startDate.setDate(startDate.getDate() - 1);
dayOfWeek = startDate.getDay();
}
}
else {
while (weekCount !== week) {
startDate.setDate(startDate.getDate() + 7);
weekCount++;
}
while (dayOfWeek > 0) {
startDate.setDate(startDate.getDate() - 1);
dayOfWeek = startDate.getDay();
}
}
return startDate;
} function getEndDate(startDate, year) {
var endDate = new Date(startDate);
if (startDate.getMonth() === 11 && startDate.getDate() > 25) {
var newYear = year + 1;
var newDate = 6 - (31 - startDate.getDate());
endDate.setFullYear(newYear, 0, newDate);
}
else {
endDate.setDate(startDate.getDate() + 6);
}
return endDate;
}
var startDate = new Date();
startDate.setFullYear(year, 0, 1); //变态的js月份从0开始
var dayOfWeek = startDate.getDay();
var count = 0;
var weekCount = 1;
if (weekCount === week) {
while (dayOfWeek > 0) {
startDate.setDate(startDate.getDate() - 1);
dayOfWeek = startDate.getDay();
}
}
else {
while (weekCount !== week) {
startDate.setDate(startDate.getDate() + 7);
weekCount++;
}
while (dayOfWeek > 0) {
startDate.setDate(startDate.getDate() - 1);
dayOfWeek = startDate.getDay();
}
}
return startDate;
} function getEndDate(startDate, year) {
var endDate = new Date(startDate);
endDate.setDate(startDate.getDate() + 6);
return endDate;
}
function fun(year, week){
var d1, d2;
if(week == 1){
d1 = new Date(year, 0, 1);
d2 = new Date(d1);
d2.setDate(d2.getDate() + (6 - d2.getDay()));
} else {
d1 = new Date(year, 0, 1);
d1.setDate(d1.getDate() + (0 - d1.getDay()) + (7 * (week - 1)));
d2 = new Date(d1);
d2.setDate(d2.getDate() + 6);
} var ret =
{
StartDate: d1,
EndDate: d2
};
return ret;
}var ret = fun(2012, 2);
var d1M = ret.StartDate.getMonth() + 1;
var d1D = ret.StartDate.getDate();
alert("起始日期是:" + d1M + "月" + d1D + "日");
var d2M = ret.EndDate.getMonth() + 1;
var d2D = ret.EndDate.getDate();
alert("结束日期是:" + d2M + "月" + d2D + "日");
var d1, d2;
if(week == 1){
d1 = new Date(year, 0, 1);
d2 = new Date(d1);
d2.setDate(d2.getDate() + (6 - d2.getDay()));
} else {
d1 = new Date(year, 0, 1);
d1.setDate(d1.getDate() + (0 - d1.getDay()) + (7 * (week - 1)));
d2 = new Date(d1);
d2.setDate(d2.getDate() + 6);
while(d2.getFullYear() != d1.getFullYear()) {
d2.setDate(d2.getDate() - 1);
}
} var ret =
{
StartDate: d1,
EndDate: d2
};
return ret;
}