首页 > 代码库 > javaScript Code 用javascript确定每月第二个星期五
javaScript Code 用javascript确定每月第二个星期五
废话少说只就上Code:
说明:getDay()方法获取星期(这里的星期是从0到6)。参见:http://www.w3school.com.cn/js/js_obj_date.asp 中的getDay().
代码有不足之处希望得到指正。
var SecondFriday = { getSecondFriday: function () { var flag = 0; //(1) 获取当月月初时间,时间格式为:Sun Jun 01 2014 00:00:00 GMT+0800 (中国标准时间) var thisDate = new Date(new Date().getFullYear(), new Date().getMonth()); for (var i = 0; i < 15; i++) { //(2) 因为是每个月的第二个星期五,所以循环15次以内就可以 wd = thisDate.getDay();//(3)判定当月月初是星期几 if(wd===0){//(4)特殊处理星期天。 因为星期天为‘0’。 console.log(‘here‘); return thisDate.getFullYear() + "-" + (thisDate.getMonth() + 1) + "-" +"13" } if ((i + wd) % 5 == 0) { flag = flag + 1;//(5)标示符,确定是第二个星期五 if (flag == 2) { return thisDate.getFullYear() + "-" + (thisDate.getMonth() + 1) + "-" + (i + wd) } } } } };
//Chrom 测试
console.log(SecondFriday.getSecondFriday());
@背塔者 ,提供的简洁代码:
版本一:
function getSecondFriday() { var now = new Date(); var first = new Date(now.getFullYear(), now.getMonth(), 1); now.setDate((5 - first.getDay()) + 7 + 1); // 星期五-第一天的的星期几+1天+7天 return now; }
版本二:
// 星期五-第一天的的星期几+1天+7天,星期六特殊处理了下 function getSecondFriday() { var now = new Date(); var first = new Date(now.getFullYear(), now.getMonth(), 1); now.setDate((5 - (first.getDay() > 5? -1: first.getDay())) + 7 + 1); return now; }
holine 总结:
function secondFriday(date){ date = new Date(date); date.setDate(1); date.setDate((12 - date.getDay()) % 7 + 8); return date; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。