获取本月 上周 上周 上月日期等各种时间操作

/* 获取本周、本季度、本月、上月的开端日期、停止日期*/
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));
console.log("本周开始:"+weekEndDate)
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);
}


function getStartWeek(){
//起止日期数组
var startStop=new Array();
//获取当前时间
var currentDate=new Date();
//返回date是一周中的某一天
var week=currentDate.getDay();
//返回date是一个月中的某一天
var month=currentDate.getDate();
//一天的毫秒数
var millisecond=1000*60*60*24;
//减去的天数
var minusDay=week!=0?week-1:6;
//获得当前周的第一天
var currentWeekDayOne=new Date(currentDate.getTime()-(millisecond*minusDay));
//上周最后一天即本周开始的前一天
var priorWeekLastDay=new Date(currentWeekDayOne.getTime()-millisecond);
//上周的第一天
var priorWeekFirstDay=new Date(priorWeekLastDay.getTime()-(millisecond*6));
return formatDate(priorWeekFirstDay);
};

function getEndWeek(){
//起止日期数组
var startStop=new Array();
//获取当前时间
var currentDate=new Date();
//返回date是一周中的某一天
var week=currentDate.getDay();
//返回date是一个月中的某一天
var month=currentDate.getDate();
//一天的毫秒数
var millisecond=1000*60*60*24;
//减去的天数
var minusDay=week!=0?week-1:6;
//获得当前周的第一天
var currentWeekDayOne=new Date(currentDate.getTime()-(millisecond*minusDay));
//上周最后一天即本周开始的前一天
var priorWeekLastDay=new Date(currentWeekDayOne.getTime()-millisecond);
//上周的第一天
var priorWeekFirstDay=new Date(priorWeekLastDay.getTime()-(millisecond*6));
return formatDate(priorWeekLastDay);
};

//时间转换


// 转yyyy-dd-mm
function formatDateTime(inputTime) {
    if(inputTime == '' || inputTime === undefined || inputTime==null){
        return '';
    }
var date = new Date(inputTime);
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? ('0' + m) : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
var h = date.getHours();
h = h < 10 ? ('0' + h) : h;
var minute = date.getMinutes();
var second = date.getSeconds();
minute = minute < 10 ? ('0' + minute) : minute;
second = second < 10 ? ('0' + second) : second;
return y + '-' + m + '-' + d;
};

//时间获取
function GetDateStr(AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
var y = dd.getFullYear();
var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//获取当前月份的日期,不足10补0
var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();//获取当前几号,不足10补0
return y+"-"+m+"-"+d;
}
// console.log("半年前:"+GetDateStr(-180));
// console.log("三月前:"+GetDateStr(-90));
// console.log("一月前:"+GetDateStr(-30));
// console.log("昨天:"+GetDateStr(-1));
// console.log("今天:"+GetDateStr(0));
// console.log("明天:"+GetDateStr(1));
// console.log("后天:"+GetDateStr(2));
// console.log("一月后:"+GetDateStr(30));
// console.log("三月后:"+GetDateStr(90));
// console.log("半年后:"+GetDateStr(180));







//这是修改的yyyy-dd-mm格式
function formatDateNew(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);
}
 






//今天
// var getCurrentDate = new Date(nowYear, nowMonth, nowDay);
// var getCurrentDate = formatDateNew(getCurrentDate)

// //昨天
// var getYesterdayDate = new Date(nowYear, nowMonth, nowDay - 1);
// var getYesterdayDate = formatDateNew(getYesterdayDate);

// //获得本周的开始日期
// var getWeekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
// var getWeekStartDate = formatDateNew(getWeekStartDate);
// //获得本周的结束日期
// var getWeekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));
// var getWeekEndDate = formatDateNew(getWeekEndDate);


// //获得上周的开始日期
// var getUpWeekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek -7);
// var getUpWeekStartDate = formatDateNew(getUpWeekStartDate);

// //获得上周的结束日期
// var getUpWeekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek - 7));
// var getUpWeekEndDate = formatDateNew(getUpWeekEndDate);


// //获得本月的开始日期
// var getMonthStartDate = new Date(nowYear, nowMonth, 1);
// var getMonthStartDate = formatDateNew(getMonthStartDate);

// //获得本月的结束日期
// var getMonthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
// var getMonthEndDate = formatDateNew(getMonthEndDate);

// //获得上月开始时间
// var getLastMonthStartDate = new Date(nowYear, lastMonth, 1);
// var getLastMonthStartDate = formatDateNew(getLastMonthStartDate);

// //获得上月结束时间
// var getLastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth));
// var getLastMonthEndDate = formatDateNew(getLastMonthEndDate);

转载于:https://www.cnblogs.com/zhuwu/p/7667571.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值