/**
* 获取本周、本季度、本月、上月的开端日期、停止日期
*/
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. JavaEE填空与判断

    Java EE软件工程师认证考试 试题库- 填空题和选择题   一.     填空题 1. HTML网页文件的标记是__html__,网页文件的主体标记是_body__,标记页面标题的标记是__tit ...

  2. Android Design 4.4中文版发布

    “两年前的今天,我们发布了 Android Design 中文版(旧闻链接). 随着 Android 系统的发展,界面和设计语言都不断的发生变化.韶华易逝.光阴苒冉,Android 进化到了 4.4 ...

  3. eclipse 和 android studio 快捷键对比

    操作 studio eclipse   debug/run 计算变量值 alt+F8 ctrl+shift+I 跳到下一步 F8 F6 跳到下一个断点 shift+F8 F8 进入到代码 F7 F5 ...

  4. 《Effective Java》笔记 使类和成员的可访问性最小化

    类和接口 第13条 使类和成员的可访问性最小化 1.设计良好的模块会隐藏所有的实现细节,把它的API与实现清晰的隔离开来,模块之间只通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况: ...

  5. ubuntu下安装kde Plasma

    Ubuntu15.04安装KDE Plasma 5.3桌面环境_百度经验 http://jingyan.baidu.com/article/bad08e1ee280e709c8512185.html ...

  6. Xamarin提示Build-tools版本过老

    Xamarin提示Build-tools版本过老 错误信息:G:\XamarinDemo\Xamarin.Forms-master\packages\Xamarin.Android.Support.V ...

  7. 简单几何(线段相交) POJ 2653 Pick-up sticks

    题目传送门 题意:就是小时候玩的一种游戏,问有多少线段盖在最上面 分析:简单线段相交,队列维护当前最上的线段 /******************************************** ...

  8. WPF之DataContext

    1. 继承属性: DataContext is a property on FrameworkElement (base class for all WPF Controls) and is impl ...

  9. CodeForces Round 195 Div2

    A. Vasily the Bear and Triangletime limit per test1 secondmemory limit per test256 megabytesinputsta ...

  10. HDU 2579 (记忆化BFS搜索)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2579 题目大意:走迷宫.对于障碍点,只有当前(dep+1)%k才能走,问最少时间. 解题思路: 只有 ...