/**
* 获取本周、本季度、本月、上月的开端日期、停止日期
*/
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);
}

js获取时间(本周、本季度、本月..)的更多相关文章

  1. js获取时间相关函数

    js获取时间函数 var myDate = new Date; var year = myDate.getFullYear();//获取当前年 var yue = myDate.getMonth()+ ...

  2. js 获取时间 new Date()详细介绍

    javaScript系列:js中获取时间new Date()详细介绍 (2012-03-31 09:54:25) 转载▼ 标签: js时间 new date() 字符类型 转换 分类: study-j ...

  3. JS获取时间(当前-过去-未来)

    /** * 获取时间格式为:1970-01-01 00:00 * @param {参数} params * 属性 类型 默认值 必填 说明 * date Date new Date() 否 Date对 ...

  4. js 获取时间对象代码

    /** * 获取时间对象 */function getDateObj(addDayCount) { var dd = new Date(); dd.setDate(dd.getDate()+addDa ...

  5. js获取时间加多山天和时间戳转换成日期

    function huoqu(){    var data = $("#data").val();//获取的时间    var day = $('#day').val();//往后 ...

  6. js获取时间,循环执行任务,延迟执行任务

    一.获取时间 核心方法创建一个时间对象:new Date() 时间对象相关操作 时间对象.函数名 函数名 功能 getYear() 获取四位数的年份 getMonth() 获取2位数的月数, 这个是从 ...

  7. js获取时间及转化

    有关Javascript的本地时间获取,下面我直接用代码来进行举例吧 let time = new Date(); let month = time.getMonth()+1; //获取的月份0~11 ...

  8. js 获取时间比较全,留备用(zhuan)

    var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear();    //获取完整的年份(4位 ...

  9. JS获取时间日期常用方法

    1 当前时间: new Date() 2 当前周: function getCurrentWeek() { var date = new Date() var beginDate = new Date ...

随机推荐

  1. PrincipalView的使用参数

    4 G:\PrincipalView\model\m426.off 注意,路径是绝对路径,所以如果程序移位的话,要注意修改: 路径中不能包含空格

  2. Shopping(hdu 3768)

    题意:给你一个无向图,求从0号点开始遍历所有的指定点再回到0号点的最短路径 #include<cstdio> #include<iostream> #include<qu ...

  3. onItemClick 参数解释

    X, Y两个listview,X里有1,2,3,4这4个item,Y里有a,b,c,d这4个item.如果你点了b这个item.如下:public void onItemClick (AdapterV ...

  4. hp unix

    HP-UNIX 命令大全 #vgdisplay -v vgname #lvdisplay -v lvfullpath #pvdisplay -v pvfullpath # ioscan –fnkC d ...

  5. linux_command_撷叏命令: cut, grep

    [root@www ~]# cut -d'分隑字符' -f fields <==用亍有特定分隑字符[root@www ~]# cut -c 字符区间<==用亍排列整齐癿讯息选项不参数:-d ...

  6. 布局文件中fill_parent、match_parent和wrap_content有什么区别?

    fill_parent 宽度或者高度 布满整个屏幕从Android 2.2开始fill_parent改名为match_parent.wrap_content布局元素将根据内容更改大小.

  7. AxureRP7.0教学大纲Tutorial directory

    参考: http://www.axurerp.cn/learn/2014/0812/5.html Axure RP7.0标准教程 http://bbs.yuanxingku.com/thread-5- ...

  8. VMware-WorkStation 序列号(转)

    原文摘自: http://blog.csdn.net/twlkyao/article/details/8681927 最近升级了下虚拟机,可是还要序列号,网上找了几个可以用的,留着,备用. 9.0.2 ...

  9. loj 1108(spfa判负环)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26823 思路:题目的意思是求出所有的能够到达负环的点.负环很好求, ...

  10. DOS常用的简单命令

    在windows下的cmd里使用 dir 列出当前目录下的文件及文件夹 md 创建目录 rd 删除目录(只能删除空目录) cd 进入指定目录 cd .. 返回上一级目录 cd / 返回到根目录 del ...