zoukankan      html  css  js  c++  java
  • JS获取本周、本季度、本月、上月的开始日期、结束日期

    /**
    * 获取本周、本季度、本月、上月的开始日期、结束日期
    */
    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); 
    }

    ===================

    <!DOCTYPE html>
    <html>
    <body>

    <p>该实例调用函数并输出 PI 值:</p>

    <p id="demo"></p>

    <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; //

    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);
    }

    document.getElementById("demo").innerHTML = getQuarterStartDate();

    </script>

    </body>
    </html>

  • 相关阅读:
    剖析C语言中a=a+++++a的无聊问题
    [转]精确到1%秒的单片机计时器汇编程序
    [转]学DSP、FPGA、ARM,哪个更有前途?
    【Java】Eclipse导出JAR包
    二维码生成器(支持历史记录点击和清空)
    移动端开发注意之一二
    localStorage实现按钮点击禁用
    JavaScript之查找元素
    扒拉扒拉table
    解惑之JavaScript
  • 原文地址:https://www.cnblogs.com/apolloren/p/13525869.html
Copyright © 2011-2022 走看看