js获取时间(本周、本季度、本月..)


Posted in Javascript onNovember 22, 2013

Js代码

/** 
* 获取本周、本季度、本月、上月的开端日期、停止日期 
*/ 
var now = new Date(); //当前日期 
var nowDayOfWeek = now.getDay(); //今天本周的第几天 
var nowDay = now.getDate(); //当前日 
var nowMonth = now.getMonth(); //当前月 
var nowYear = now.getYear(); //当前年 
nowYear += (nowYear < 2000) ? 1900 : 0; // var lastMonthDate = new Date(); //上月日期 
lastMonthDate.setDate(1); 
lastMonthDate.setMonth(lastMonthDate.getMonth()-1); 
var lastYear = lastMonthDate.getYear(); 
var lastMonth = lastMonthDate.getMonth(); 
//格局化日期:yyyy-MM-dd 
function formatDate(date) { 
var myyear = date.getFullYear(); 
var mymonth = date.getMonth()+1; 
var myweekday = date.getDate(); 
if(mymonth < 10){ 
mymonth = "0" + mymonth; 
} 
if(myweekday < 10){ 
myweekday = "0" + myweekday; 
} 
return (myyear+"-"+mymonth + "-" + myweekday); 
} 
//获得某月的天数 
function getMonthDays(myMonth){ 
var monthStartDate = new Date(nowYear, myMonth, 1); 
var monthEndDate = new Date(nowYear, myMonth + 1, 1); 
var days = (monthEndDate - monthStartDate)/(1000 * 60 * 60 * 24); 
return days; 
} 
//获得本季度的开端月份 
function getQuarterStartMonth(){ 
var quarterStartMonth = 0; 
if(nowMonth<3){ 
quarterStartMonth = 0; 
} 
if(2<nowMonth && nowMonth<6){ 
quarterStartMonth = 3; 
} 
if(5<nowMonth && nowMonth<9){ 
quarterStartMonth = 6; 
} 
if(nowMonth>8){ 
quarterStartMonth = 9; 
} 
return quarterStartMonth; 
} 
//获得本周的开端日期 
function getWeekStartDate() { 
var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek); 
return formatDate(weekStartDate); 
} 
//获得本周的停止日期 
function getWeekEndDate() { 
var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek)); 
return formatDate(weekEndDate); 
} 
//获得本月的开端日期 
function getMonthStartDate(){ 
var monthStartDate = new Date(nowYear, nowMonth, 1); 
return formatDate(monthStartDate); 
} 
//获得本月的停止日期 
function getMonthEndDate(){ 
var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth)); 
return formatDate(monthEndDate); 
} 
//获得上月开端时候 
function getLastMonthStartDate(){ 
var lastMonthStartDate = new Date(nowYear, lastMonth, 1); 
return formatDate(lastMonthStartDate); 
} 
//获得上月停止时候 
function getLastMonthEndDate(){ 
var lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth)); 
return formatDate(lastMonthEndDate); 
} 
//获得本季度的开端日期 
function getQuarterStartDate(){ 
var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1); 
return formatDate(quarterStartDate); 
} 
//或的本季度的停止日期 
function getQuarterEndDate(){ 
var quarterEndMonth = getQuarterStartMonth() + 2; 
var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth)); 
return formatDate(quarterStartDate); 
}
Javascript 相关文章推荐
(function(){})()的用法与优点
Mar 11 Javascript
JS实现div内部的文字或图片自动循环滚动代码
Apr 19 Javascript
JavaScript中模拟实现jsonp
Jun 19 Javascript
javascript与jquery中的this关键字用法实例分析
Dec 24 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
Apr 26 Javascript
jQuery 局部div刷新和全局刷新方法总结
Oct 05 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
Feb 23 Javascript
vue2.0结合Element实现select动态控制input禁用实例
May 12 Javascript
基于webpack4搭建的react项目框架的方法
Jun 30 Javascript
如何利用node转发请求详解
Sep 17 Javascript
node.js如何操作MySQL数据库
Oct 29 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
Nov 12 Javascript
文本框只能选择数据到文本框禁止手动输入
Nov 22 #Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
Nov 22 #Javascript
jQuery 事件的命名空间简单了解
Nov 22 #Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
Nov 22 #Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
Nov 22 #Javascript
用正则表达式替换图片地址img标签
Nov 22 #Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
Nov 22 #Javascript
You might like
PHP合并数组+与array_merge的区别分析
2010/08/01 PHP
启用OPCache提高PHP程序性能的方法
2019/03/21 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
JavaScript 变量作用域分析
2011/07/04 Javascript
jquery validate poshytip 自定义样式
2012/11/26 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
jQuery中:has选择器用法实例
2014/12/30 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
jQuery简单实现对数组去重及排序操作实例
2017/10/31 jQuery
ES6之模版字符串的具体使用
2018/05/17 Javascript
区别JavaScript函数声明与变量声明
2018/09/12 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
2019/05/06 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
[05:39]2014DOTA2西雅图国际邀请赛 淘汰赛7月14日TOPPLAY
2014/07/14 DOTA
python使用PyGame播放Midi和Mp3文件的方法
2015/04/24 Python
基于python socketserver框架全面解析
2017/09/21 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
flask的orm框架SQLAlchemy查询实现解析
2019/12/12 Python
pytorch 实现cross entropy损失函数计算方式
2020/01/02 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
高性能装备提升营地:Kammok
2019/02/27 全球购物
Derek Rose官网:英国高档睡衣、家居服和内衣品牌
2020/01/18 全球购物
Ref与out有什么不同
2012/11/24 面试题
Linux面试题LINUX系统类
2014/11/19 面试题
工商企业管理应届生求职信
2013/11/03 职场文书
护理学专业推荐信
2013/12/03 职场文书
物流专业大学生职业生涯规划书范文
2014/01/15 职场文书
目标责任书范本
2014/04/16 职场文书
党的群众教育实践活动实施方案
2014/06/12 职场文书
机械设计制造及其自动化专业求职信
2014/06/17 职场文书
MySQL数据库 安全管理
2022/05/06 MySQL
MySQL 原理与优化之原数据锁的应用
2022/08/14 MySQL