var now = new Date();                                                //当前日期
var nowDayOfWeek = (now.getDay() == 0) ? 7 : now.getDay() - 1; //今天是本周的第几天。周一=0,周日=6
var nowDay = now.getDate(); //当前日
var nowMonth = now.getMonth(); //当前月值(1月=0,12月=11)
var nowMonReal = now.getMonth() + 1; //当前月实际数字
var nowYear = now.getFullYear(); //当前年 //日期+天
function AddDays(d, n) {
var t = new Date(d);//复制并操作新对象,避免改动原对象
t.setDate(t.getDate() + n);
return t;
} //日期+月。日对日,若目标月份不存在该日期,则置为最后一日
function AddMonths(d, n) {
var t = new Date(d);
t.setMonth(t.getMonth() + n);
if (t.getDate() != d.getDate()) { t.setDate(0); }
return t;
} //日期+年。月对月日对日,若目标年月不存在该日期,则置为最后一日
function AddYears(d, n) {
var t = new Date(d);
t.setFullYear(t.getFullYear() + n);
if (t.getDate() != d.getDate()) { t.setDate(0); }
return t;
} //获得本季度的开始月份
function getQuarterStartMonth() {
if (nowMonth <= 2) { return 0; }
else if (nowMonth <= 5) { return 3; }
else if (nowMonth <= 8) { return 6; }
else { return 9; }
} //周一
function getWeekStartDate() {
return AddDays(now, -nowDayOfWeek);
} //周日。本周一+6天
function getWeekEndDate() {
return AddDays(getWeekStartDate(), 6);
} //月初
function getMonthStartDate() {
return new Date(nowYear, nowMonth, 1);
} //月末。下月初-1天
function getMonthEndDate() {
return AddDays(AddMonths(getMonthStartDate(), 1), -1);
} //季度初
function getQuarterStartDate() {
return new Date(nowYear, getQuarterStartMonth(), 1);
} //季度末。下季初-1天
function getQuarterEndDate() {
return AddDays(AddMonths(getQuarterStartDate(), 3), -1);
}

js日期计算及快速获取周、月、季度起止日的更多相关文章

  1. js日期计算及快速获取周、月、季度起止日,获取指定日期周数以及星期几的小例子

    JS获取日期时遇到如下需求,根据某年某周获取一周的日期.如开始日期规定为星期四到下一周的星期五为一周. 格式化日期: function getNowFormatDate(theDate) { var ...

  2. js 日期计算星座 根据生日的月份和日期,一行代码计算星座的js小函数(转)

    本博客根据 开源中国作者清风徐不来 的文章 根据生日的月份和日期,一行代码计算星座的js小函数(转) 原文出自CSDN 无心的专栏 的文章,知识产权归原文作者所有! 点击查看原文:js 日期计算星座

  3. js日期的写法,获取girdviw的行数、提示信息、验证数量信息

    //制订日期(js日期的写法) var myDate = new Date(); var theDate = myDate.toLocaleDateString();  //获取今天的日期 //获取控 ...

  4. js  计算是今天多少周

    /** * 判断年份是否为润年 * * @param {Number} year */ function isLeapYear(year) { return (year % 400 == 0) || ...

  5. java获取当前时间的年周月季度等的开始结束时间

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Created b ...

  6. js日期范围初始化,得到前一个月的日期

    今天做时间范围的初始化设定,开始时间是当前时间的前一个月,终于找到完美的解决方案了. Date.prototype.format = function(format) {     var o = { ...

  7. Flex自定义组件开发之日周月日期选择日历控件

    原文:Flex自定义组件开发之日周月日期选择日历控件         使用过DateField的我们都知道,DateField 控件是用于显示日期的文本字段,字段右侧带有日历图标.当用户在控件边框内的 ...

  8. java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)

    获取周的第一天,最后一天 System.out.println(getStartEndDate("2016-05-01", 1)); 获取星期的第一天和最后一天 System.ou ...

  9. 用js获取周、月第一天和最后一天(转载)

    var getCurrentWeek = function (day) { var days = ["周日", "周一", "周二", &q ...

随机推荐

  1. Bat 循環執行範例

    @echo off @echo Please key in runcount num. Info:max=100 set /p a= for /l %%i in (1,1,%a%) do ( echo ...

  2. Leetcode: Length of Last Word in python

    Length of Last Word Total Accepted: 47690 Total Submissions: 168587     Given a string s consists of ...

  3. 黑马程序员——有关protocol的小结

    在OC程序中经常会有这样的问题就是一个类想让其他类帮自己实现某些方法,然后再将结果返回给这个类:如何让一个类要找的代理去实现自己想要的方法呢? 这样就需要有一个协议,让能遵守协议的其他类都能实现协议中 ...

  4. C语言练习:第二大整数

    问题描述 编写一个程序,读入一组整数(不超过20个),当用户输入0时,表示输入结束.然后程序将从这组整数中,把第二大的那个整数找出来,并把它打印出来.说明:(1)0表示输入结束,它本身并不计入这组整数 ...

  5. python堡垒机

    堡垒机 windows下安装python3的paramiko模块后一些报错总结: error: Unable to find vcvarsall.bat [官网对此问题的描述] : https://d ...

  6. Android APP的安装路径

    转载自:http://blog.csdn.net/libaineu2004/article/details/25247711 一.安装路径在哪? Android应用安装涉及到如下几个目录: syste ...

  7. Java基础 —— Java常用类

    Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...

  8. Javascript函数柯里化(curry)

    函数柯里化currying,是函数式编程非常重要的一个标志.它的实现需要满足以下条件,首先就是函数可以作为参数进行传递,然后就是函数可以作为返回值return出去.我们依靠这个特性编写很多优雅酷炫的代 ...

  9. HD1013Digital Roots

    Problem Description The digital root of a positive integer is found by summing the digits of the int ...

  10. McAfee VirusScan Enterprise

    企业版下载入口:  http://www.mcafee.com/cn/downloads/downloads.aspxGrant number:6240017-NAI6240018-NAI 下载Vir ...