`
hudeyong926
  • 浏览: 2028368 次
  • 来自: 武汉
社区版块
存档分类
最新评论

js获得本周,本月,本季度的开始日期和结束日期

 
阅读更多
<script>   
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;  //   
  
//格式化日期: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);    
	
	//格式化日期:yyyy-MM-dd HH:MM:SS
    var myHour = date.getHours();    
    var myMinute = date.getMinutes();    
    var mySecond = date.getSeconds();    
    if(myHour < 10){   
        myHour = "0" + myHour;   
    }    
    if(myMinute < 10){   
        myMinute = "0" + myMinute;   
    }       
    if(mySecond < 10){   
        mySecond = "0" + mySecond;   
    }       
    return (myyear+"-"+mymonth + "-" + myweekday+" "+myHour+":"+myMinute+":"+mySecond);    
}    
  
//获得某月的天数   
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;   
}   

 //获得本天(i=0)的开始时间   
function getDayStartDate(i) {    
    var nowStartDay = new Date(nowYear, nowMonth, nowDay+i);    
    return formatDate(nowStartDay);   
}  
  
//获得本天(i=0)的结束时间   
function getDayEndDate(i) {    
    var nowStartDay = new Date(nowYear, nowMonth, nowDay+i,23,59,59);    
    return formatDate(nowStartDay);   
}

 //获得本周(i=0)的开始日期   
function getWeekStartDate(i) {    
    //var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);    
    var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek+7*i);    
    return formatDate(weekStartDate);   
}    
  
//获得本周的结束日期   
function getWeekEndDate(i) {    
   // var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));    
    var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek)+7*i,23,59,59);    
    return formatDate(weekEndDate);   
}    
  
//获得本月的开始日期   
function getMonthStartDate(i){   
    //var monthStartDate = new Date(nowYear, nowMonth, 1);    
    var monthStartDate = new Date(nowYear, nowMonth+i, 1);    
    return formatDate(monthStartDate);   
}   
  
//获得本月的结束日期   
function getMonthEndDate(i){   
    //var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));    
    var monthEndDate = new Date(nowYear, nowMonth+i, getMonthDays(nowMonth+i,),23,59,59);    
    return formatDate(monthEndDate);   
}   
  
//获得本季度的开始日期   
function getQuarterStartDate(i){   
    //var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);    
    var quarterStartDate = new Date(nowYear, getQuarterStartMonth()+3*i, 1);    
    return formatDate(quarterStartDate);   
}   
  
//或的本季度的结束日期   
function getQuarterEndDate(i){   
    var quarterEndMonth = getQuarterStartMonth()+3*i + 2;   
    //var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));    
    var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth),23,59,59);    
    return formatDate(quarterStartDate);   
}   
  
//获得本年度的开始日期   
function getYearStartDate(i){   
    var quarterStartDate = new Date(nowYear+i, 0, 1);    
    return formatDate(quarterStartDate);   
}  

//获得本年度的结束日期   
function getYearEndDate(i){   
    var quarterStartDate = new Date(nowYear+i, 11, getMonthDays(11),23,59,59);    
    return formatDate(quarterStartDate);   
}  

alert(getMonthStartDate(1));   
</script>
分享到:
评论

相关推荐

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

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

    根据输入的日期获取所属季度

    本篇文档主要介绍了一个Java程序,该程序的功能是根据用户输入的日期,计算出该日期所处的季度。这是一个典型的日期处理场景,在各种业务系统中非常常见,比如财务报表、数据分析等。 #### 二、关键概念与术语解释 ...

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

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

    JQuery-bootstrap-datetimepicker开始时间小于等于结束时间-相互约束-清除时间

    而为了将时间限制从开始时间上移除,可以通过设置结束时间的开始日期为1970年1月1日(一个非常早的日期),或者设置一个非常晚的日期如2286年作为结束时间的开始日期,这样就可以将时间约束移除。 在清除时间的实现...

    Calender按季度选择日期

    总的来说,“Calender按季度选择日期”是一个实用的JavaScript编程实践,它涉及到日期处理、DOM操作和用户交互等多个前端开发的关键技能。通过深入学习和理解这个案例,开发者可以增强自己的JavaScript实战能力,...

    可选择起始日期和结束日期的时间选择器.rar

    本项目“可选择起始日期和结束日期的时间选择器”是一个JavaScript特效实现,适用于网页应用程序,允许用户指定一个时间段,如旅行日期、预约日期等。这种交互方式能够提升用户体验,简化用户输入操作。 标签“JS...

    季度js插件(基于My97DatePicker)

    【季度js插件(基于My97DatePicker)】是一款针对日期选择功能进行二次开发的JavaScript插件,它在原生的My97DatePicker基础上进行了扩展,以满足用户更具体的需求,特别是针对季度选择的场景。My97DatePicker是一款...

    datetimepicker实例以及开始时间和结束时间相互约束

    在这个JavaScript示例中,我们为开始和结束日期的`datepicker`添加了`onSelect`事件处理器,确保结束日期始终大于或等于开始日期。 在实际应用中,我们还需要考虑用户界面的友好性和异常处理,比如当用户尝试输入...

    datepicker 日历插件(日期多选,月份多选,年份多选,季度多选)

    - **日期处理函数**:用于计算和验证日期、月份、年份和季度的合法性,例如,确保选取的日期范围正确,没有超出设定的边界。 - **可定制性**:插件应提供配置选项,允许开发者自定义显示格式、颜色主题、语言等。 - ...

    js日期控件js日期控件js日期控件

    JavaScript(简称JS)是一种轻量级的脚本语言,广泛应用于网页和网络应用开发,包括处理用户交互、操作DOM(文档对象模型)、以及处理时间与日期等任务。在Web开发中,日期控件是常见的需求,它允许用户方便地选择...

    HTML5手机移动端时间日期选择插件_在线演示_时间_日期_js特效_js代码_files.zip

    2. **JavaScript和jQuery基础**:这个插件基于JavaScript(可能包括jQuery库)编写,利用JavaScript强大的DOM操作和事件处理能力,实现了动态的日期和时间选择效果。jQuery简化了跨浏览器的DOM操作,使得代码更加...

    uniapp + 日期组件 + (常见的日期)

    这里,`v-model`绑定了开始日期和结束日期,通过`startChange`和`endChange`方法处理两个日期选择的变化,确保开始日期不晚于结束日期。 在实际开发中,我们还可能需要处理日期格式化、日期计算、日期合法性验证等...

    js移动端日期时间选择控件

    `js移动端日期时间选择控件` 是一种常见的交互元素,它允许用户方便地选取日期和时间,提高用户体验。在JavaScript(特别是原生JS)中,我们可以创建自定义的日期时间选择器,或者利用现有的开源库来实现这一功能。 ...

    判断当前日期是否在本月的最后一周内

    本文将详细讲解如何根据给定的标题和描述,利用Java编程语言来判断当前日期是否在本月的最后一周内,以及如何判断日期是否在某一周内的最后几天、前几天或24小时内。 首先,我们需要引入Java的`java.time`包,这个...

    js时间日期输入框

    JavaScript时间日期输入框是一种常见的网页交互元素,它允许用户在网页上方便地选择或输入日期和时间。在网页开发中,这种功能通常通过JavaScript库或者插件实现,以提高用户体验和增强界面的交互性。本篇文章将深入...

    纯JS方法比较日期之间大小(实用)

    本篇将详细介绍如何仅使用JavaScript来实现日期之间的大小比较功能,并通过具体的代码示例来帮助理解。 #### 1. 基础概念 在JavaScript中,`Date`对象是处理日期和时间的标准方式。可以通过构造函数创建一个`Date`...

    日期js 万年历中提取的单天日期包括洋历农历节日节气等全部信息

    这个`Date`对象提供了丰富的API,例如`getFullYear()`获取四位数的年份,`getMonth()`获取月份(注意,JavaScript中的月份是从0开始的),`getDate()`获取月份中的日期,`getHours()`、`getMinutes()`和`getSeconds...

    js计算两个日期相差几周

    - **start** 和 **end** 分别表示开始日期和结束日期的字符串,格式为 `"年-月-日"`(如:"2023-08-01")。 #### 代码实现分析 1. **字符串分割与日期对象创建** - 使用 `split('-')` 方法将传入的日期字符串按 ...

    JS时间日期源码集锦

    在本“JS时间日期源码集锦”中,我们将会探讨JavaScript处理时间日期的各种方法和技巧,以及如何创建炫酷的时间日期相关特效。 一、JavaScript中的日期对象 在JavaScript中,Date对象是内置的构造函数,可以用来...

    JQ JS javascript 日期多选控件

    本教程将深入探讨如何使用jQuery和JavaScript来创建一个日期多选控件。 一、日期选择器基础 在JavaScript中,我们经常使用内置的Date对象来处理日期。Date对象允许我们创建、格式化和比较日期。例如,创建一个新...

Global site tag (gtag.js) - Google Analytics