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;
}

javaScript Code 用javascript确定每月第二个星期五,布布扣,bubuko.com

时间: 2024-11-06 14:11:31

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

JavaScript code modules

https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules Non-standardThis feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be la

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

<javascript权威指南>读书笔记--第二篇 金刚 javascript js javascript权威指南 今天是今年的196天,分享今天的读书笔记. 第2章 词法结构 2.1 字符集 JavaScript程序是用Unicode字符集编写. Unicode是ASCII和Latin-1的超集,支持几乎所有语言. ES3 要求支持Unicode 2.1及后续版本 ES5 要求支持Unicode 3及后续版本 2.1.1 区分大小写 JavaScript是区分大小写的. HTML 并不区分大

JavaScript code to let users double-click to move back to the top of the page

Here's some JavaScript code I found today while poking around the net. Embed this JavaScript code in a web page, and a user can simply double-click anywhere on the page to automatically move back to the beginning of the page. Pretty cool idea. Here's

[code style]javascript style

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 var globalVariable=null; var globalObject={     init:function(){         $.extend({method:function(e){e}});    //jquery static method extend         $.fn.extend(); //jquery instance method extend  

Visual Studio Code中JavaScript开发环境的配置

Visual Studio Code简称VS Code,是一款由微软公司免费开源的现代化轻量级代码编辑器,几乎支持所有的主流开发语言的语法高亮.自定义热键.代码片段.括号匹配等诸多特性,还支持插件扩展,并针对网页开发和云端应用开发做了优化.下面简单介绍一下VS Code中JavaScript开发环境的配置. 首先在微软官网上下载安装好VS Code后并打开,在扩展商店中安装插件,直接Ctrl+Shift+X打开扩展商店,在搜索框中搜索Code Runner和Debugger for Chrome

轻松学习JavaScript五:JavaScript的变量和数据类型

对于一们编程语言,肯定包含变量和数据类型.今天我们就来看看JavaScript脚本语言的变量和数据类型.相对 于其他的Java,C++等高级程序语言,JavaScript显得很简单. 一变量 JavaScript的变量是松散类型的,所谓松散就是用来保存任何类型的数据.变量是存储信息的容器.定义变量时 要使用var操作符(var是关键字),后面跟一个变量名(变量名是标识符).变量也就是初始化后可以再次改变的量. 那么我们来看看实例: <span style="font-size:18px;&

JavaScript教程之JavaScript就这么回事

JavaScript就这么回事1-5(转的一个不错的JavaScript基础教程)2008年01月06日 星期日 13:55JavaScript就这么回事1-5(转的一个不错的JavaScript基础教程) 有些时候你精通一门语言,但javascript教程是会发现你其实整天在和其它语言打交道,也许你以为这些微不足道,不至于影响你的开发进度,但恰恰是这些你不重视的东西会浪费你很多时间,我一直以为我早在几年前就已经精通JavaScript了,直到目前,我才越来越觉得JavaScript远比我想象的

JavaScript学习13 JavaScript中的继承

JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式:对象冒充 function Parent(username) //父类对象 { this.username = username; //下面的代码最关键的部分就是将子对象的this传递给了父对象 this.sayHello = function() { alert(this.username); } } f

轻松学习JavaScript十一:JavaScript基本类型(包含类型转换)和引用类型

一值的类型 早在介绍JS的数据类型的时候就提到过基本类型和引用类型,不过在说两种类型之前,我们先来了解一下变量的 值的类型.在ECMAScript中,变量可以存在两种类型的值,即原始值和引用值. (1)原始值 存储在栈中的简单数据段,也就是说,它们的值直接存储在变量访问的位置. (2)引用值 存储在堆中的对象,也就是说,存储在变量处的值是一个指针,指向存储对象的内存处. 为变量赋值时,ECMAScript的解释程序必须判断该值是原始类型,还是引用类型.要实现这一点,解释程序则需 尝试判断该值是否