废话少说只就上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;
}

javaScript Code 用javascript确定每月第二个星期五的更多相关文章

  1. JavaScript code modules

    https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules Non-standardThis feature is ...

  2. Clean Code of JavaScript

    Clean Code of JavaScript 代码简洁之道 JavaScript 版 https://github.com/ryanmcdermott/clean-code-javascript ...

  3. 《javascript权威指南》读书笔记——第二篇

    <javascript权威指南>读书笔记——第二篇 金刚 javascript js javascript权威指南 今天是今年的196天,分享今天的读书笔记. 第2章 词法结构 2.1 字 ...

  4. 配置 VS Code 调试 JavaScript

    原文:配置 VS Code 调试 JavaScript 1. 安装 Debugger for Chrome 扩展.Open in Browser  扩展.View In Browser 扩展 2.用v ...

  5. Javascript Code Style Guide

    本指南采用的Airbnb发布的基于ES5的JavaScript Code Style. ES5 英文版:https://github.com/airbnb/javascript/tree/es5-de ...

  6. jshint-eclipse: JavaScript Code Quality Plugin for Eclipse

    https://blog.oio.de/2012/03/26/jshint-eclipse-javascript-code-quality-plugin-for-eclipse/   techscou ...

  7. How does a single thread handle asynchronous code in JavaScript?

    原文:https://www.quora.com/How-does-a-single-thread-handle-asynchronous-code-in-JavaScript ----------- ...

  8. JavaScript笔记(第一章,第二章)

    JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...

  9. javascript笔记:javascript的关键所在---作用域链

    javascript里的作用域是理解javascript语言的关键所在,正确使用作用域原理才能写出高效的javascript代码,很多javascript技巧也是围绕作用域进行的,今天我要总结一下关于 ...

随机推荐

  1. createjs 使用记录

    createjs由几个库组成: l,easeljs,这个是核心,包括了显示列表.事件机制: 2,preloadjs,用于预加载图片等: 3,tweenjs,用于控制元件的缓动: 4,soundjs,用 ...

  2. h2database源码浅析:集群

    Clustering / High Availability This database supports a simple clustering / high availability mechan ...

  3. SQL SERVER 与ACCESS、EXCEL的数据导入导出转换

    * 说明:复制表(只复制结构,源表名:a 新表名:b)      select * into b from a where 1<>1 * 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) ...

  4. 一步一步搭建 OAuth 认证服务器

    http://www.fising.cn/2011/03/%E4%B8%80%E6%AD%A5%E4%B8%80%E6%AD%A5%E6%90%AD%E5%BB%BA-oauth-%E8%AE%A4% ...

  5. Centos7最小化安装后(minimal)安装图形界面

    centos7下载地址:http://mirrors.cqu.edu.cn/CentOS/7/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso 下载后用vmwa ...

  6. ios fix UIRefreshControl bug

    NS_CLASS_AVAILABLE_IOS(6_0)   UIRefreshControl 有个毛病有时会出bug  动画下拉就不动了,这里给出修复处理: @interface UICollecti ...

  7. iOS scrollView/tableView滚动到底部

    //项目要求tableView滚动到底部就自动加载下一页,UITableView继承自UIScrollView 所以可以在//scrollViewDidEndDecelerating这个方法中进行判断 ...

  8. bzoj4637:期望

    思路:最小生成树计数只不过加了一个期望,由于期望具有线性性质,就可以转化为每条边的期望之和,那么一条边的期望如何求呢,在最小生成树记数中,是把相同边权的一起处理,之后把属于连通块内的点缩点,也就是说, ...

  9. OpenJudge 2980 大整数乘法

    链接地址:http://bailian.openjudge.cn/practice/2980/ 题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 求两个不超过200位的非负整数的积 ...

  10. 安装mvc3出错致命错误

    给vs2010安装mvc3,出现如下错误提示: Installation failed with error code: (0x80070643), "安装时发生严重错误 ". 将 ...