javaScript Code 用javascript确定每月第二个星期五
废话少说只就上Code:

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确定每月第二个星期五的更多相关文章
- JavaScript code modules
https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules Non-standardThis feature is ...
- Clean Code of JavaScript
Clean Code of JavaScript 代码简洁之道 JavaScript 版 https://github.com/ryanmcdermott/clean-code-javascript ...
- 《javascript权威指南》读书笔记——第二篇
<javascript权威指南>读书笔记——第二篇 金刚 javascript js javascript权威指南 今天是今年的196天,分享今天的读书笔记. 第2章 词法结构 2.1 字 ...
- 配置 VS Code 调试 JavaScript
原文:配置 VS Code 调试 JavaScript 1. 安装 Debugger for Chrome 扩展.Open in Browser 扩展.View In Browser 扩展 2.用v ...
- Javascript Code Style Guide
本指南采用的Airbnb发布的基于ES5的JavaScript Code Style. ES5 英文版:https://github.com/airbnb/javascript/tree/es5-de ...
- jshint-eclipse: JavaScript Code Quality Plugin for Eclipse
https://blog.oio.de/2012/03/26/jshint-eclipse-javascript-code-quality-plugin-for-eclipse/ techscou ...
- How does a single thread handle asynchronous code in JavaScript?
原文:https://www.quora.com/How-does-a-single-thread-handle-asynchronous-code-in-JavaScript ----------- ...
- JavaScript笔记(第一章,第二章)
JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...
- javascript笔记:javascript的关键所在---作用域链
javascript里的作用域是理解javascript语言的关键所在,正确使用作用域原理才能写出高效的javascript代码,很多javascript技巧也是围绕作用域进行的,今天我要总结一下关于 ...
随机推荐
- -bash: lampp: command not found解决方案
在/opt目录下安装完lampp后,需要到/opt/lampp/下执行lampp启动或者停止服务,如果在其余目录下执行lampp,会提示:-bash: lampp: command not found ...
- [记录]使用setTimeout实现不同时间进行切换文本的颜色
开始使用的是setinterval(),但是setinterval()的time是固定的,假如我想改变time,就需要每次clearInterval()一次. 如: setInterval(funct ...
- (译文)12个简单(但强大)的JavaScript技巧(一)
原文连接: 12 Simple (Yet Powerful) JavaScript Tips 我将会介绍和解析12个简单但是强大的JavaScript技巧. 这些技巧所有的JavaScript程序员都 ...
- Android——控制UI界面
一.使用XML布局文件控制UI界面 res\layout\activity_main.xml代码如下: <FrameLayout xmlns:android="http://schem ...
- ACM——五位以内的对称素数
http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1026 五位以内的对称素数 时间限制(普 ...
- hive外部表自动读取文件夹里的数据
我们在创建表的时候可以指定external关键字创建外部表,外部表对应的文件存储在location指定的目录下,向该目录添加新文件的同时,该表也会读取到该文件(当然文件格式必须跟表定义的一致),删除外 ...
- ArrayList、Vector、LinkedList的区别及其优缺点? (转载)
原文链接:http://blog.csdn.net/wangzff/article/details/7296648 ArrayList,LinkedList,Vestor这三个类都实现了java.ut ...
- 【Excel VBA】金额大写转换
=IF(ROUND(A1,2)<0,"金额为负无效",IF(ROUND(A1,2)=0,"零元",IF(ROUND(A1,2)<1,"&q ...
- 取A表数据,关联B表任意一条数据
表A=================== AID, AName 1 jack 2 mary 3 lily 表B================== BID, AID, BName 1 1 aaa ...
- Windows8安装Oracle11.2.0.1-0624,附带 DBCA建库、netca创建监听、配置PLSQL、定义客户端的环境变量 NLS_LANG、定义客户端的环境变量 TNS_ADMIN01
Windows8安装Oracle11.2.0.1 操作系统:Windows 8 企业版 64bit Oracle:11. ...