【发布时间】:2014-01-20 19:52:59
【问题描述】:
如果给定日期(例如-“2014-01-07”),我想访问该特定月份(2014 年 1 月)并获取 星期六的日期编号该月的和星期日。
在这种情况下, 4,11,18,25 --星期六 5,12,19,26 -- 星期日
我想使用 java 脚本,因为这是一个前端开发。 帮我解决这个问题..Thnkz
【问题讨论】:
标签: javascript jquery
如果给定日期(例如-“2014-01-07”),我想访问该特定月份(2014 年 1 月)并获取 星期六的日期编号该月的和星期日。
在这种情况下, 4,11,18,25 --星期六 5,12,19,26 -- 星期日
我想使用 java 脚本,因为这是一个前端开发。 帮我解决这个问题..Thnkz
【问题讨论】:
标签: javascript jquery
试试这个FIDDLE
var d = new Date();
var getTot = daysInMonth(d.getMonth(),d.getFullYear()); //Get total days in a month
var sat = new Array(); //Declaring array for inserting Saturdays
var sun = new Array(); //Declaring array for inserting Sundays
for(var i=1;i<=getTot;i++){ //looping through days in month
var newDate = new Date(d.getFullYear(),d.getMonth(),i)
if(newDate.getDay()==0){ //if Sunday
sun.push(i);
}
if(newDate.getDay()==6){ //if Saturday
sat.push(i);
}
}
console.log(sat);
console.log(sun);
function daysInMonth(month,year) {
return new Date(year, month, 0).getDate();
}
在sat和sunArray()你可以得到特定月份的周六和周日
【讨论】:
使用getDate方法非常简单:
var my_date = "2014-01-07".split('-')
var year = parseInt(my_date[0]);
var month = parseInt(my_date[1])-1;
var saturdays = [];
var sundays = [];
for (var i = 0; i <= new Date(year, month, 0).getDate(); i++)
{
var date = new Date(year, month, i);
if (date.getDay() == 6)
{
saturdays.push(date);
}
else if (date.getDay() == 0)
{
sundays.push(date);
}
};
console.log(sundays, saturdays);
【讨论】:
var d = new Date();
var pred = new Date(d.getFullYear(),d.getMonth()+1,0).getDate();
var nowd;
var sat_array = "";
var sun_array = "";
for (i=1;i<=pred;i++) {
try {
console.log(d.getFullYear()+ "-" + (d.getMonth()+1) + "-" + i);
nowd = new Date(d.getFullYear()+ "-" + (d.getMonth()+1) + "-" + i)
if (nowd.getUTCDay() == 5)
{
sat_array = sat_array + "," + i;
}
if (nowd.getUTCDay() == 6)
{
sun_array = sun_array + "," + i;
}
}
catch(e) {
return;
}
}
console.log("SAT list : " +sat_array);
console.log("SUN list : " +sun_array);
【讨论】:
根据您上面的描述 你可以使用 -
var sat = new Date(input.getFullYear(), input.getMonth(), 6 - input.getDate() + getDay());
var sun = new Date(input.getFullYear(), input.getMonth(), getDay() + (input.getDate() - 6));
将该代码放入 for 循环并添加 7 直到月份更改。 并减去 7 直到月份的变化。
javascript 输入日期将为您处理月份和年份。
【讨论】:
ReferenceError: getDay is not defined... 复制+粘贴此答案:stackoverflow.com/a/10523173/674033 除了 Kapil Dave 没有选择工作示例...