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

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()` 创建一个表示当前日期和时间...

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

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

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

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

    季度js插件(基于My97DatePicker)

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

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

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

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

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

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

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

    选择日期控件(js封装类,javascript,选择日期,文本框选择日期,控件)

    选择日期控件(js封装类,javascript,选择日期,文本框选择日期,控件)

    JQ JS javascript 日期多选控件

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

    js(javascript) 日期控件

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

    js获取一段时间内日期(天、周一、月、年)

    4. **遍历日期范围**:为了获取一段时间内的所有日期,你需要创建一个循环,从开始日期到结束日期逐天增加。 ```javascript function getDatesInRange(startDate, endDate) { let datesArray = []; let ...

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

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

    js日期选择代码.zip

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

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

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

    JavaScript获取一个范围内日期的方法

    指定开始和结束时间,范围该范围内的所有日期放入数组 Date.prototype.addDays = function(days) { var dat = new Date(this.valueOf()); dat.setDate(dat.getDate() + days); return dat; }; function getDates...

    选择开始时间和结束时间

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

    网页日期选择js文件

    "网页日期选择js文件" 提供的就是一个JavaScript实现的日期选择功能,使得开发者无需编写复杂的代码就能在网页上添加这种交互式元素。 JavaScript是一种在客户端运行的脚本语言,它对于网页动态交互起着至关重要的...

    javascript 日期数字文本格式化

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

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

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

    js 日期 和sqlserver 兼容

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

Global site tag (gtag.js) - Google Analytics