js日期计算及快速获取周、月、季度起止日
2015-06-04 09:09
651 查看
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); }
相关文章推荐
- web-inf存放jsp的注意事项
- JS不同浏览器图片载入处理
- js深拷贝和浅拷贝
- How to really defer loading of javascript
- 如何将js中的值传到后台action中
- Json.NET 初探
- JSON数据格式(附翻译)
- 对Json数据的处理(模拟获取数据是来自于本地)
- 读书笔记--JavaScript设计模式:Constructor模式(创建对象的方法)
- django通过ajax发起请求返回JSON格式数据的方法
- 浅谈利用JavaScript进行的DDoS攻击原理与防御
- JavaScript函数使用的基本教程
- JavaScript中的函数嵌套使用
- JavaScript中指定函数名称的相关方法
- 浅析JavaScript中的事件机制
- javascript组合使用构造函数模式和原型模式实例
- JavaScript中Cookies的相关使用教程
- 使用JavaScript刷新网页的方法
- javascript原型模式用法实例详解
- 用JavaScript实现页面重定向功能的教程