八百年一次,这个七月有5个礼拜五,5个礼拜六,5个礼拜天(js Date对象练习良好方案)[原]
2011-07-07 12:30
489 查看
今早看园友的文章八百年一次……,心想到底是不是八百年一遇,就用js自己验证了一下;
园友判断有5个礼拜五,5个礼拜六,5个礼拜天的方法:
1:该月必须有31天
2:该月1号必须是星期5. (我的判断是最后一天是星期天,求最后一天是为了方便判断这个月有的天数)
<script>
//move back one month
function prevMonth(thisMonth, thisYear) {
if (thisMonth == 1) {
thisM = 12;
thisY = (thisYear - 1);
}
else {
thisM = (thisMonth - 1);
thisY = thisYear;
}
}
//move forward one month
function nextMonth(thisMonth, thisYear) {
if (thisMonth == 12) {
thisM = 1;
thisY = (thisYear + 1)
}
else {
thisM = (thisMonth + 1);
thisY = thisYear;
}
}
//转化为短的日期格式
function toShortDate(date) {
var dateStr = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
return dateStr;
}
var dtNow = new Date();
var thisM = dtNow.getMonth()+1;
var thisY = dtNow.getFullYear();
var arrayRecord = [];
while (thisY >= 1900) {
prevMonth(thisM, thisY);
var lastDayOfPrevMonth = new Date(thisY, thisM, 0);
if (lastDayOfPrevMonth.getDay() == 0 && lastDayOfPrevMonth.getDate() == 31) {
arrayRecord.push(toShortDate(lastDayOfPrevMonth));
}
}
document.write(arrayRecord.join("\r"));
</script>
先前一次七月份有五个周五,五个周六,五个周天是:
2005-7
感谢你留言,转载请声明出处(http://www.cnblogs.com/flowerszhong/)。
园友判断有5个礼拜五,5个礼拜六,5个礼拜天的方法:
1:该月必须有31天
2:该月1号必须是星期5. (我的判断是最后一天是星期天,求最后一天是为了方便判断这个月有的天数)
<script>
//move back one month
function prevMonth(thisMonth, thisYear) {
if (thisMonth == 1) {
thisM = 12;
thisY = (thisYear - 1);
}
else {
thisM = (thisMonth - 1);
thisY = thisYear;
}
}
//move forward one month
function nextMonth(thisMonth, thisYear) {
if (thisMonth == 12) {
thisM = 1;
thisY = (thisYear + 1)
}
else {
thisM = (thisMonth + 1);
thisY = thisYear;
}
}
//转化为短的日期格式
function toShortDate(date) {
var dateStr = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
return dateStr;
}
var dtNow = new Date();
var thisM = dtNow.getMonth()+1;
var thisY = dtNow.getFullYear();
var arrayRecord = [];
while (thisY >= 1900) {
prevMonth(thisM, thisY);
var lastDayOfPrevMonth = new Date(thisY, thisM, 0);
if (lastDayOfPrevMonth.getDay() == 0 && lastDayOfPrevMonth.getDate() == 31) {
arrayRecord.push(toShortDate(lastDayOfPrevMonth));
}
}
document.write(arrayRecord.join("\r"));
</script>
先前一次七月份有五个周五,五个周六,五个周天是:
2005-7
感谢你留言,转载请声明出处(http://www.cnblogs.com/flowerszhong/)。
相关文章推荐
- 八百年一次,这个月有5个礼拜五,5个礼拜六,5个礼拜天
- JS-Date对象
- JS中Date对象
- Js计算间隔天数和Date对象
- JS-封装类或对象的最佳方案
- JS date对象
- js中Date对象与Math对象常用基础知识
- Js Date对象
- JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
- JS-结合html综合练习js的对象——班级成绩表制作
- 原生JS:Date对象全面解析
- 在立即执行函数内组合使用构造函数模式和原型模式创建对象,实现模块化开发(以daterangepicker.js为例)
- asp获取和js中date对象getTime一样的数值
- js Date对象的使用
- 对象函数asp获取和js中date对象getTime一样的数值
- JS- 获取当前时间、Date对象在移动端中异常处理
- js的Date对象的属性和方法
- js扩展Date对象 日期格式化
- js中string math,date对象
- js date函数|js date 格式化|js date 对象(转)