`
caibowen0414010001
  • 浏览: 7872 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
文章分类
社区版块
存档分类
最新评论

js获取某周、某月、上月、某季度的开始日期、结束日期及判断日期第几周

 
阅读更多

/** 
 * 获取某周、某月、上月、某季度的开始日期、结束日期及判断日期第几周 
 */ 

//格式化日期: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(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;      
}      
    
//获得某周的开始日期     
function getWeekStartDate(paraYear,paraMonth,paraDay,paraDayOfWeek) {      
    var weekStartDate = new Date(paraYear, paraMonth, paraDay + 1 - paraDayOfWeek);      
    return formatDate(weekStartDate);     
}      
    
//获得某周的结束日期     
function getWeekEndDate(paraYear,paraMonth,paraDay,paraDayOfWeek) {      
    var weekEndDate = new Date(paraYear, paraMonth, paraDay + (7 - paraDayOfWeek));      
    return formatDate(weekEndDate);     
}      
    
//获得某月的开始日期     
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 getLastMonthStartDate(paraYear, lastMonth){  
    var lastMonthStartDate = new Date(paraYear, lastMonth, 1);  
    return formatDate(lastMonthStartDate);    
}  
 
//获得上月结束时间  
function getLastMonthEndDate(paraYear, lastMonth, lastMonth){  
    var lastMonthEndDate = new Date(paraYear, lastMonth, getMonthDays(lastMonth));  
    return formatDate(lastMonthEndDate);    
}  
    
//获得某季度的开始日期     
function getQuarterStartDate(paraYear,paraSeason){     
    switch (paraSeason){     
        case '1' : return paraYear+"-01-01";
        case '2' : return paraYear+"-04-01";
        case '3' : return paraYear+"-07-01";
        case '4' : return paraYear+"-10-01";
    }
}     
    
//获得某季度的结束日期     
function getQuarterEndDate(paraYear,paraSeason){     
    switch (paraSeason){     
     case '1' : return paraYear+"-03-31";
     case '2' : return paraYear+"-06-30";
     case '3' : return paraYear+"-09-30";
     case '4' : return paraYear+"-12-31";
    }   
}

 

//获取某年某周的开始日期
function getBeginDateOfWeek(paraYear, weekIndex){
    var firstDay = GetFirstWeekBegDay(paraYear);
    //7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)
    var time=(weekIndex-1)*7*24*3600000;
    var beginDay = firstDay;
    //为日期对象 date 重新设置成时间 time
    beginDay.setTime(firstDay.valueOf()+time);
    return formatDate(beginDay);
}

 

//获取某年某周的结束日期
function getEndDateOfWeek(paraYear, weekIndex){
    var firstDay = GetFirstWeekBegDay(paraYear);
    //7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)
    var time=(weekIndex-1)*7*24*3600000;
    var weekTime = 6*24*3600000;
    var endDay = firstDay;
    //为日期对象 date 重新设置成时间 time
    endDay.setTime(firstDay.valueOf()+weekTime+time);
    return formatDate(endDay);
}

 

//获取日期为某年的第几周
function GetWeekIndex(dateobj) {
    var firstDay = GetFirstWeekBegDay(dateobj.getFullYear());
    if (dateobj < firstDay) {
      firstDay = GetFirstWeekBegDay(dateobj.getFullYear() - 1);
    }
    d = Math.floor((dateobj.valueOf() - firstDay.valueOf()) / 86400000);
    return Math.floor(d / 7) + 1;  
}

//获取某年的第一天
function GetFirstWeekBegDay(year) {
    var tempdate = new Date(year, 0, 1);
    var temp = tempdate.getDay();
    if (temp == 1){
       return tempdate;
    }
    temp = temp == 0 ? 7 : temp;
    tempdate = tempdate.setDate(tempdate.getDate() + (8 - temp));
    return new Date(tempdate);   
}

分享到:
评论

相关推荐

    用php获取本周,上周,本月,上月,本季度日期的代码

    这稍微复杂一些,需要判断当前月份所在的季度,然后计算出季度的起始和结束日期。 ```php function getThisQuarterRange() { $now = new DateTime(); $quarter = ceil($now-&gt;format('n') / 3); // 计算季度 $...

    js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期

    在JavaScript中,获取特定时间范围(如本周、上周、本月、上月、本季度、上季度)的开始和结束日期是常见的需求。以下是一个详细解释这些功能的实现方法: 首先,我们创建一个`Date`对象`now`来获取当前日期和时间...

    SQL SERVER 获取年、季、月、周、日开始时间和结束时间

    time: 返回的时间点,如果时间点为8点,返回的结束时间为第二天的8点,例如获取8月最后一天的结束时间,以8点计,则返回值为 2022-09-01 07:59:59.997 select dbo.GetDateStartFirstAndLast('-q','s','2022-08-03',...

    c#_根据当前时间获取_本周_本月_本季度_月初_月末_各个时间段

    假设一周从周一开始,可以通过以下代码获取本周的起始(周一)和结束(周日)日期: ```csharp DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek)); DateTime endWeek = startWeek.AddDays(6); `...

    php获取本周开始日期和结束日期的方法

    首先,获取本周开始日期和结束日期的基本思路是基于当前日期(或指定日期)确定周的起始日(通常是周一或周日),然后计算出一周的结束日期。在PHP中,我们可以利用内置的`date()`和`strtotime()`函数来实现这一目标...

    java获取本月的开始时间\结束时间、获取上月的开始时间\结束时间、获取本年的开始时间\结束时间、获取某个日期的开始时间\结束时

    java获取本月的开始时间\结束时间、获取上月的开始时间\结束时间、获取本年的开始时间\结束时间、获取某个日期的开始时间\结束时间、获取今年是哪一年、获取本月是哪一月

    C#获取上个月第一天和最后一天日期的方法

    在C#编程中,有时我们需要获取特定月份的第一天和最后一天日期,比如上个月的日期范围。这在处理数据统计、报表生成或者时间相关的业务逻辑中非常常见。本篇文章将详细解析如何使用C#来获取上个月的第一天和最后一天...

    获取上月、下月.txt

    Javascript获取上月、下月 var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取当前日期的月份 //var day = arr[2]; //获取当前日期的日 //var days = new Date...

    java 获取上月、一个月最后一天、周一、周日、本月日期

    Java 获取上月、一个月最后一天、周一、周日、本月日期是 Java 日期处理中的一些常见操作。下面我们将详细介绍这些操作的实现方法。 一、获取上月 获取上月可以使用 Calendar 类的 add 方法,减去一个月份。然后...

    利用Excel组合公式指定某月的第几周的天数.rar

    假设我们已经知道了第1周的开始日期,即5月的第一天,那么第5周的开始日期就是这个日期加上4周(即28天)。这可以通过DATEADD函数实现,但Excel内建函数中没有这个函数,我们可以使用加法和乘法来完成这个操作。 ...

    C#中的DateTime:本周,本月,本年,本周第一天

    ### C#中的DateTime操作详解:本周、本月、本年及第一天的确定 #### 一、概述 在开发基于时间的应用程序时,经常会遇到需要获取特定时间范围(如本周、本月、本年)的需求。C#提供了强大的`DateTime`类来帮助...

    js获取时间(本周、本季度、本月..)

    本文将介绍如何使用JavaScript获取特定时间单位(如本周、本季度、本月、上月)的开始和结束日期。 首先,我们需要了解JavaScript中Date对象的基本概念。Date对象用于处理日期和时间,它提供了很多方法来获取和设置...

    Java日期工具类

    12、获得日期所在季度第一个月或最后一个月 13、在当前日期的基础上增加传入参数的天数 14、在当前日期的基础上增加传入参数的月数 15、在当前日期的基础上增加传入参数的年数 16、计算传入的两个日期之间相差的天数...

    js日期处理

    今天本周的第几天 ;获得某月的天数 ;获得本季度的开始月份;获得本月的开始日期;获得本月的结束日期;获得本季度的开始日期;获得本季度的结束日期;获取指定日期的上个月的日期;再也不为日期的昨天,上月,季度...

    易语言取上个月第一天和最后一天

    要获取上个月的第一天,我们首先需要获取当前日期,然后减去一个月。同理,获取上个月的最后一天则需要找到上个月的第一天后再加一天,因为每个月的最后一天是下个月的第一天的前一天。 在易语言中,我们可以使用...

    获取今天,昨天,本周,上周,本月,上月时间(实例分享)

    在JavaScript编程中,获取特定时间范围的日期是一个常见的需求,比如获取今天、昨天、本周、上周、本月和上月的时间。以下将详细解释如何通过JavaScript实现这些功能。 1. 获取今天: ```javascript var nowDate = ...

    易语言取上个月第一天和最后一天源码

    "易语言取上个月第一天和最后一天源码"这个标题所涉及的知识点,主要是关于如何利用易语言的内置函数和逻辑来获取指定月份的第一天和最后一天的日期。易语言作为一款中国本土的编程语言,以其独特的中文语法和丰富的...

Global site tag (gtag.js) - Google Analytics