时间段选取

本文为搬运学习,感谢原文大佬,原文地址:https://www.cnblogs.com/lvxisha/p/10673522.html

时间段

开始时间小于结束时间的判断,下面是封装号的方法,直接可以调用:

var data = new Date();
  var year = data .getFullYear(); //获取完整的年份(4位)
  var month = data .getMonth(); //获取当前月份(0-11,0代表1月)
 
  console.log("时间::"+formatDate(data));
  console.log(getMonthStartDate(year,month));
  console.log(getMonthEndDate(year,month));
 
 
//格式化日期: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 getMonthStartDate(paraYear,paraMonth){  
    var monthStartDate = new Date(paraYear, paraMonth, 1);   
    return formatDate(monthStartDate);  
  }  
    
  //获得某月的结束日期  
  function getMonthEndDate(paraYear,paraMonth){
    var monthEndDate = new Date(paraYear,paraMonth, getMonthDays(paraYear,paraMonth));   
    return formatDate(monthEndDate);  
  } 
  //获得某月的天数  
  function getMonthDays(paraYear,paraMonth){  
    var monthStartDate = new Date(paraYear, paraMonth, 1);   
    var monthEndDate = new Date(paraYear, paraMonth + 1, 1);   
    var  days  =  (monthEndDate  -  monthStartDate)/(1000  *  60  *  60  *  24);   
    return  days;   
  }
/**
* 获取本周、本季度、本月、上月的开始日期、结束日期
*/
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);
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值