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

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获取本周、上周、本月、上月、本季度和上季度的开始和结束日期的方法。 首先,我们需要了解JavaScript中的Date对象,它是处理日期和时间的基础。`new Date()` 创建一个表示当前日期和时间...

    使用JS获取本周本月时间段的方法

    在JavaScript中,获取本周和本月的时间段是一项常见的需求,尤其在开发日历应用、数据分析或者时间相关的功能时。本文将详细讲解如何通过JavaScript实现这一功能。 首先,我们需要了解JavaScript中的Date对象,它是...

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

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

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

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

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

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

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

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

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

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

    js(javascript) 日期控件

    JavaScript(通常简称为JS)是一种轻量级的解释型编程语言,主要用于网页和网络应用的开发。在网页中,JS可以极大地增强用户交互性,其中日期控件是常见的一种功能,用于帮助用户方便地选择日期,常用于日历插件、...

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

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

    js验证日期格式,比较日期大小,判断两日期年月是否相同借鉴.pdf

    console.log('开始日期大于结束日期'); return -1; } else if (Date.parse(d1) - Date.parse(d2) === 0) { // a = b console.log('开始日期等于结束日期'); return 0; } else { // a console.log('开始...

    LayUI laydate日期选择器自定义 快捷选中今天、昨天 、本周、本月

    LayUI laydate日期选择器自定义 快捷选中今天、昨天 、本周、本月等等

    js日期选择代码.zip

    在JavaScript(简称JS)中,处理日期和时间是一项常见的任务,尤其在网页应用中,日期选择器是一个必备的交互元素。"js日期选择代码.zip"这个压缩包很可能包含了一个或多个实现这一功能的代码文件。从描述来看,这些...

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

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

    H5日期控件(酒店预定,两个日期选择)

    2. **日期范围限制**:可能需要设置最小和最大可选日期,以防止用户选择不合理的日期组合,如结束日期早于开始日期。 3. **交互反馈**:当用户选择日期时,应即时更新显示的天数,提供即时的反馈。 4. **响应式设计*...

    选择开始时间和结束时间

    4. **日期和时间对象**:在编程中,通常使用特定的数据结构来表示日期和时间,例如JavaScript的`Date`对象、Python的`datetime`模块或Swift的`Date`类型。开发者需要熟练操作这些对象,以进行比较、设置和格式化。 ...

    javascript 日期数字文本格式化

    在JavaScript中,日期和数字的文本格式化是一个常见的需求,特别是在构建用户界面或者处理数据时。这个主题主要涉及如何将日期对象转换为易读的字符串,以及如何对数字进行格式化,使其符合特定的显示标准。这篇博文...

    JQ JS javascript new Data() 获取 指定日期 的 后一天

    在JavaScript编程语言中,`Date`对象是处理日期和时间的核心工具。`new Date()`构造函数用于创建一个表示当前日期和时间的新`Date`对象。然而,在这个特定的场景下,我们关注的是如何使用`Date`对象来获取指定日期...

    【JavaScript源代码】使用Element+vue实现开始与结束时间限制.docx

    在JavaScript和Vue.js框架下,使用Element UI组件库可以方便地构建用户界面,其中包括日期选择器组件`el-date-picker`。在某些应用场景中,我们可能需要限制用户选择的开始时间和结束时间,确保结束时间始终大于开始...

    js 日期 和sqlserver 兼容

    在开发Web应用时,JavaScript(JS)和SQL Server之间的日期兼容性问题经常出现,因为两者处理日期的方式有所不同。本文将详细探讨如何在JS与SQL Server之间有效地管理和转换日期,以确保数据的一致性和正确性。 ...

    My97DatePicker 选择季度功能

    My97DatePicker是一款在中国广泛应用的JavaScript日期选择器插件,尤其在Web开发中,它以其强大的功能和良好的用户体验而受到青睐。在这个特定的场景中,我们关注的是如何利用My97DatePicker来实现选择季度的功能。 ...

Global site tag (gtag.js) - Google Analytics