js获取本月,本季度,上个季度,本周,上周的起始和结束时间

摘要:
1/*获取一个月的天数*/2函数getMonthDays(myMonth){3varnowYear=newDate().getFullYear();//当前年份4varmonthStartDate=newDate(nowYear,myMonth,1);5varmonthEndDate=newDate(nowYea,myMonth+1);6vardays=(monthEndDate-m
  1 /* 获得某月的天数 */
  2     function getMonthDays(myMonth) {
  3         var nowYear = new Date().getFullYear(); //当前年
  4         var monthStartDate = new Date(nowYear, myMonth, 1);
  5         var monthEndDate = new Date(nowYear, myMonth + 1, 1);
  6         var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
  7         return days;
  8     }
  9 
 10     /* 获得本周的开始日期 */
 11     function getWeekStartDate() {
 12         var now = new Date();
 13         var nowYear = now.getFullYear(); //当前年
 14         var nowMonth = now.getMonth();
 15         var nowDay = now.getDate();
 16         var nowDayOfWeek = now.getDay(); //今天本周的第几天
 17         var day = nowDay - nowDayOfWeek;
 18         console.log("getWeekStartDate:nowYear=" + nowYear + ",nowMonth=" + nowMonth + ",nowDay=" + nowDay + ",nowDayOfWeek=" + nowDayOfWeek + ",day=" + day);
 19         console.log("getWeekStartDate:" + new Date(nowYear, nowMonth, day));
 20         return new Date(nowYear, nowMonth, day);
 21     }
 22 
 23     /* 获得本周的结束日期 */
 24     function getWeekEndDate() {
 25         var now = new Date();
 26         var nowYear = now.getFullYear(); //当前年
 27         var nowMonth = now.getMonth();
 28         var nowDay = now.getDate();
 29         var nowDayOfWeek = now.getDay(); //今天本周的第几天
 30         var day = nowDay + (6 - nowDayOfWeek);
 31         console.log("getWeekEndDate:nowYear=" + nowYear + ",nowMonth=" + nowMonth + ",nowDay=" + nowDay + ",nowDayOfWeek=" + nowDayOfWeek + ",day=" + day);
 32         console.log("getWeekEndDate:" + new Date(nowYear, nowMonth, day));
 33         return new Date(nowYear, nowMonth, day);
 34     }
 35 
 36     /* 获得上周的开始日期 */
 37     function getLastWeekStartDate() {
 38         var now = new Date();
 39         var nowYear = now.getFullYear(); //当前年
 40         var nowMonth = now.getMonth();
 41         var nowDay = now.getDate();
 42         var nowDayOfWeek = now.getDay(); //今天本周的第几天
 43         return new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 7);
 44     }
 45 
 46     /* 获得上周的结束日期 */
 47     function getLastWeekEndDate() {
 48         var now = new Date();
 49         var nowYear = now.getFullYear(); //当前年
 50         var nowMonth = now.getMonth();
 51         var nowDay = now.getDate();
 52         var nowDayOfWeek = now.getDay(); //今天本周的第几天
 53         return new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 1);
 54     }
 55     /* 获得本月的开始日期 */
 56     function getMonthStartDate() {
 57         var now = new Date();
 58         var nowYear = now.getFullYear(); //当前年
 59         var nowMonth = now.getMonth();
 60         return new Date(nowYear, nowMonth, 1);
 61     }
 62 
 63     /* 获得本月的结束日期 */
 64     function getMonthEndDate() {
 65         var now = new Date();
 66         var nowYear = now.getFullYear(); //当前年
 67         var nowMonth = now.getMonth();
 68         return new Date(nowYear, nowMonth, getMonthDays(nowMonth));
 69     }
 70 
 71     /* 获得上月开始时间 */
 72     function getLastMonthStartDate() {
 73         var lastMonthDate = new Date(); //上月日期
 74         lastMonthDate.setDate(1);
 75         lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);
 76         return lastMonthDate;
 77     }
 78     /* 获得上月结束时间 */
 79     function getLastMonthEndDate() {
 80         var lastMonthDate = new Date(); //上月日期
 81         lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);
 82         var lastMonth = lastMonthDate.getMonth();
 83         lastMonthDate.setDate(getMonthDays(lastMonth));
 84         return lastMonthDate;
 85     }
 86 
 87     /* 获得本季度的开始月份 */
 88     function getQuarterStartMonth() {
 89         var nowMonth = new Date().getMonth();
 90         var quarterStartMonth = 0;
 91         if (nowMonth < 3) {
 92             quarterStartMonth = 0;
 93         }
 94         if (2 < nowMonth && nowMonth < 6) {
 95             quarterStartMonth = 3;
 96         }
 97         if (5 < nowMonth && nowMonth < 9) {
 98             quarterStartMonth = 6;
 99         }
100         if (nowMonth > 8) {
101             quarterStartMonth = 9;
102         }
103         return quarterStartMonth;
104     }
105 
106     /* 获得本季度的开始日期 */
107     function getQuarterStartDate() {
108         var now = new Date();
109         var nowYear = now.getFullYear(); //当前年
110         return new Date(nowYear, getQuarterStartMonth(), 1);
111     }
112     /* 获得本季度的结束日期 */
113     function getQuarterEndDate() {
114         var now = new Date();
115         var nowYear = now.getFullYear(); //当前年
116         var quarterEndMonth = getQuarterStartMonth() + 2;
117         return new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
118     }
119 
120     /* 获得上个季度的开始日期 */
121     function getLastQuarterStartDate() {
122         var now = new Date();
123         var nowYear = now.getFullYear(); //当前年
124         return new Date(nowYear, getQuarterStartMonth() - 3, 1);
125     }
126 
127     /* 获得上个季度的结束日期 */
128     function getLastQuarterEndDate() {
129         var quarterEndMonth = getQuarterStartMonth() - 1;
130         var now = new Date();
131         now.setMonth(quarterEndMonth);
132         var nowMonth = now.getMonth();
133         var nowYear = now.getFullYear();
134         return new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
135     }

UTC时间格式:

 2015-05-23T16:00:00.000Z
 
GMT时间格式:
 Sun May 24 2015 00:00:00 GMT+0800 (中国标准时间)

免责声明:文章转载自《js获取本月,本季度,上个季度,本周,上周的起始和结束时间》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇跨境网上收款 找PayPal没错(获取Client ID 和 secret)FreeSql 如何实现 Sqlite 跨库查询下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

一步一步实现网站的多语言版本

    网站在开发的过程中需要实现多语言版本,我们暂且认为有英语和汉语两个版本。网站结构包括,UI过程,rest服务,以及相应的js,各个部分我们都要实现多语言,不要求一键切换,但是在部署过程中要能实现多与语言配置。 首先我们出场的是资源文件,C#的项目实现本地化和区域化,我们要用到资源文件。 添加资源文件夹 添加资源文件项 这里文件的命名最好能规范,...

js实现图片的等比例缩放

  js实现图片的等比例缩放 CreateTime--2018年3月6日14:04:18 Author:Marydon 1.代码展示 /** * 图片按宽高比例进行自动缩放 * @param ImgObj * 缩放图片源对象 * @param maxWidth * 允许缩放的最大宽度 * @param maxHei...

Yii2框架---常用代码

一、Php控制器跳转 return $this->redirect('/site/index/index'); 二、回调自身控制器 self::actionXxxx(); 三、获取当前用户信息 Yii::$app->user->identity->id; 四、获取当前MODULE Yii::$app->controller...

解决IE、firefox浏览器下JS的new Date()的值为Invalid Date、NaN-NaN的问题

当我们需要将一串日期字符串转换为具体的Date格式的时候,往往需要用到new Date("xxxx")方法。 当时在IE浏览器下,会遇到这种问题: new Date('2016-01-01 00:00:00') //却返回这个值Invalid Date,转换失败 但是这个方法却在谷歌浏览器上可以返回正确的结果。 解决方式:最终发现是字符...

【JS笔记】5.2 Array类型

1. Array引用类型的特点 每一项可以保存任意类型的数据; 数组大小可以动态调整 2.创建数组的方式 方法一:用Array()构造函数 无参数 var colors = new Array();//空数组 自然数参数 var colors = new Array(20);//20用来设置length属性的值,创建一个包含20个undefined的...

IE浏览器没有加载CSS或js文件的秘密及解决办法

其实是两处资料拼成这一篇博文的,因为在开发过程中遇到,有的文章只是说明原因,而没有给出解决方案,所以再次给出解释和解决方法,以供参考,如果有好的解决方法,也请分享下! --------------------------------------------------------------写在前面的话 [IE浏览器没有加载CSS或js文件的秘密] 如果有...