JS-按周分组的月份日期
JS - dates of month, by week grouping.
我正在尝试记录。写下周数,然后写下该周的天数。例如,如果你输入2016年4月作为你想要的月份,它会显示weekNum
,那么在第1周,第1周是星期五,第2周是星期六。然后第2周3日是星期天,4日是星期一,以此类推。
//variables
var reqMon;
var todaysDate = new Date();
var currYr = todaysDate.getFullYear();
var currMon = todaysDate.getMonth();
var currDate = todaysDate.getDate();
var currDay = todaysDate.getDay();
//creates a month array.
var monthArray = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
//creates a day array.
var weekDaysArray = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
//creates an array for how many days in each month.
var maxMonthlyDays = new Array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
//prompts user for numeric month.
var reqMon = parseInt(prompt("Enter desired month (Jan = 1, Dec = 12)"));
//validates users month input.
while (reqMon == "" || reqMon < 1 || reqMon > 12) {
reqMon = prompt("Invalid Entry. Please enter the month number again.")
}
//Step 3B.
document.write(reqMon + "/" + currDate + "/" + currYr + "<br /><br />");
//Step 4.
document.write(monthArray[reqMon -1] + " " + currYr + "<br /><br />");
var dateComb = (reqMon + "/1/" + currYr);
var userIdate = new Date(dateComb);
var userDay = new Date(dateComb).getDay();
var userDate = new Date(dateComb).getDate();
var maxDays = maxMonthlyDays[reqMon -1];
var numberWeeks = maxMonthlyDays[reqMon - 1] / 6;
// **************** STEP 5 **************.
//loops through weeks of month.
for (x = 1; x <= maxMonthlyDays[reqMon] / 6; x++) {
document.write("<b>Week " + x + "<br /></b>");
while (userDay <= 6 && userDate <= maxMonthlyDays[reqMon]) {
document.write(weekDaysArray[userDay] + " " + userDate + "<br />");
userDay++;
userDate++;
}
}
我可以得到迭代并输出到屏幕上的weekNum,我可以得到所需月份的总天数来迭代并输出。但我似乎无法得到"只有第1、2、3天等在适当的周数下输出"。
提前谢谢。
试试这个,我不确定你到底需要什么。
for (x = 1; x <= numberWeeks; x++) {
document.write("<b>Week " + x + "<br /></b>");
while (userDay <= 6 && userDate <= maxDays) {
document.write(weekDaysArray[userDay] + " " + userDate + "<br />");
userDay++;
userDate++;
}
userDay = 0;
}
相关文章:
- 如何在moment.js中只比较日期
- 使用时刻.js从日期时间中提取时间
- Mongodb/JS:查找最短(最早)日期
- 如何用moment.js列出两个日期之间的所有月份
- 在瞬间格式化日期.js给出 1/1/2016
- 立即获取 EST 日期.js
- 使用日期.js分析方法,而不是当前日期
- ISO 8601日期JS解释差异-IE/FF与Chrome
- 当前日期js代码中字体颜色不变
- 使用时刻修改日期.js
- 如何使用控制器中的过滤器比较日期.js
- 日期.js“tt”格式不起作用
- 从周数生成日期.js
- 这是尝试解析带有时刻的 ASP.NET 日期.js库的错误还是我的代码错误
- 限制名称和日期js cookie每次会话只加载一次
- 生成两个范围之间的日期(js)
- 如何添加月份到日期?js
- 用日期JS/JQ填充字段
- 由时刻生成的日期.js具有无效的属性
- 如何在瞬间比较两个日期.js