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技巧也是围绕作用域进行的,今天我要总结一下关于 ...
随机推荐
- linux 中的vim的配置文件的位置
/etc下面也有一个vimrc:这个文件对所有用户都有效 在用户家目录(/home/用户名:或/root/)下面有一个.viminfo,只针对特定的用户有效
- 【转】Android自动化测试之MonkeyRunner录制和回放脚本(四)
测试脚本录制: 方案一: 我们先看看以下monkeyrecoder.py脚本: #Usage: monkeyrunner recorder.py #recorder.py http://mirror ...
- .NET学习笔记(3) — VisualStudio使用总结
目录 一:VS是什么? 二:VS可以创建什么类型的工程? 三:VS的常用功能? 四:VS都有哪些使用技巧? 五:注意事项 六:资源汇总 一:VS是什么? Microsoft Visual Stud ...
- 怎么关闭InstantRun
Settings → Build, Execution, Deployment → Instant Run and uncheck Enable Instant Run.
- ionic+cordova+angularJs监听刷新
普通的js返回并刷新这里就不多说了,百度就有很多方法. 下面说的是使用了angularjs.ionic开发的一个手机app中我使用的返回上一页并刷新的方法. 场景:回复的页面是单独的,点击保存回复后会 ...
- ###Maintainable C++
点击查看Evernote原文. #@author: gr #@date: 2014-08-15 #@email: forgerui@gmail.com 记录一些标准规范.让自己的编码更可读,更可维护. ...
- JavaScript学习笔记(4)——JavaScript语法之变量
一.变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume). 变量必须以字母开头 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做 ...
- 在不同版本的 IIS 上使用 ASP.NET MVC
ASP.NET MVC Framework 依赖于 URL 路由.为了利用 URL 路由,可能不得不在 Web 服务器上执行额外的配置步骤.这些步骤取决于 Internet Information S ...
- Java使用Flying Saucer实现HTML代码生成PDF文档
1.需要的jar包:org.xhtmlrenderer.flying-saucer-pdf-itext5,Maven依赖如下: <dependency> <groupId>or ...
- Codevs 1218 疫情控制 2012年NOIP全国联赛提高组
1218 疫情控制 2012年NOIP全国联赛提高组 时间限制: 2 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description H 国有 n 个城市,这 ...