zoukankan      html  css  js  c++  java
  • 获取本月 上周 上周 上月日期等各种时间操作

    /* 获取本周、本季度、本月、上月的开端日期、停止日期*/
    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));
    console.log("本周开始:"+weekEndDate)
    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);
    }


    function getStartWeek(){
    //起止日期数组
    var startStop=new Array();
    //获取当前时间
    var currentDate=new Date();
    //返回date是一周中的某一天
    var week=currentDate.getDay();
    //返回date是一个月中的某一天
    var month=currentDate.getDate();
    //一天的毫秒数
    var millisecond=1000*60*60*24;
    //减去的天数
    var minusDay=week!=0?week-1:6;
    //获得当前周的第一天
    var currentWeekDayOne=new Date(currentDate.getTime()-(millisecond*minusDay));
    //上周最后一天即本周开始的前一天
    var priorWeekLastDay=new Date(currentWeekDayOne.getTime()-millisecond);
    //上周的第一天
    var priorWeekFirstDay=new Date(priorWeekLastDay.getTime()-(millisecond*6));
    return formatDate(priorWeekFirstDay);
    };

    function getEndWeek(){
    //起止日期数组
    var startStop=new Array();
    //获取当前时间
    var currentDate=new Date();
    //返回date是一周中的某一天
    var week=currentDate.getDay();
    //返回date是一个月中的某一天
    var month=currentDate.getDate();
    //一天的毫秒数
    var millisecond=1000*60*60*24;
    //减去的天数
    var minusDay=week!=0?week-1:6;
    //获得当前周的第一天
    var currentWeekDayOne=new Date(currentDate.getTime()-(millisecond*minusDay));
    //上周最后一天即本周开始的前一天
    var priorWeekLastDay=new Date(currentWeekDayOne.getTime()-millisecond);
    //上周的第一天
    var priorWeekFirstDay=new Date(priorWeekLastDay.getTime()-(millisecond*6));
    return formatDate(priorWeekLastDay);
    };

    //时间转换


    // 转yyyy-dd-mm
    function formatDateTime(inputTime) {
        if(inputTime == '' || inputTime === undefined || inputTime==null){
            return '';
        }
    var date = new Date(inputTime);
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? ('0' + m) : m;
    var d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    var h = date.getHours();
    h = h < 10 ? ('0' + h) : h;
    var minute = date.getMinutes();
    var second = date.getSeconds();
    minute = minute < 10 ? ('0' + minute) : minute;
    second = second < 10 ? ('0' + second) : second;
    return y + '-' + m + '-' + d;
    };

    //时间获取
    function GetDateStr(AddDayCount) {
    var dd = new Date();
    dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
    var y = dd.getFullYear();
    var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//获取当前月份的日期,不足10补0
    var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();//获取当前几号,不足10补0
    return y+"-"+m+"-"+d;
    }
    // console.log("半年前:"+GetDateStr(-180));
    // console.log("三月前:"+GetDateStr(-90));
    // console.log("一月前:"+GetDateStr(-30));
    // console.log("昨天:"+GetDateStr(-1));
    // console.log("今天:"+GetDateStr(0));
    // console.log("明天:"+GetDateStr(1));
    // console.log("后天:"+GetDateStr(2));
    // console.log("一月后:"+GetDateStr(30));
    // console.log("三月后:"+GetDateStr(90));
    // console.log("半年后:"+GetDateStr(180));







    //这是修改的yyyy-dd-mm格式
    function formatDateNew(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);
    }
     






    //今天
    // var getCurrentDate = new Date(nowYear, nowMonth, nowDay);
    // var getCurrentDate = formatDateNew(getCurrentDate)

    // //昨天
    // var getYesterdayDate = new Date(nowYear, nowMonth, nowDay - 1);
    // var getYesterdayDate = formatDateNew(getYesterdayDate);

    // //获得本周的开始日期
    // var getWeekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
    // var getWeekStartDate = formatDateNew(getWeekStartDate);
    // //获得本周的结束日期
    // var getWeekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));
    // var getWeekEndDate = formatDateNew(getWeekEndDate);


    // //获得上周的开始日期
    // var getUpWeekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek -7);
    // var getUpWeekStartDate = formatDateNew(getUpWeekStartDate);

    // //获得上周的结束日期
    // var getUpWeekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek - 7));
    // var getUpWeekEndDate = formatDateNew(getUpWeekEndDate);


    // //获得本月的开始日期
    // var getMonthStartDate = new Date(nowYear, nowMonth, 1);
    // var getMonthStartDate = formatDateNew(getMonthStartDate);

    // //获得本月的结束日期
    // var getMonthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
    // var getMonthEndDate = formatDateNew(getMonthEndDate);

    // //获得上月开始时间
    // var getLastMonthStartDate = new Date(nowYear, lastMonth, 1);
    // var getLastMonthStartDate = formatDateNew(getLastMonthStartDate);

    // //获得上月结束时间
    // var getLastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth));
    // var getLastMonthEndDate = formatDateNew(getLastMonthEndDate);
  • 相关阅读:
    C#下编程完成IIS网络App的权限设置
    IIS6与IIS7在编程实现HTTPS绑定时的细微差别
    Android 对话框(Dialog)大全
    Android 开发中使用Intent传递数据的方法
    设计模式--模版设计模式
    android 布局页面文件出错故障排除Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V
    viewPager的切换动画
    设计模式--状态模式
    git学习
    二〇一五年五月二十二日--bug--启动页面出现模糊的问题
  • 原文地址:https://www.cnblogs.com/zhuwu/p/7667571.html
Copyright © 2011-2022 走看看