dojo工具类---日期时间

//dateTools.js

define([],function(){
    var getNowDate=function(){
        var nowDate = new Date();
        var y = nowDate.getFullYear();//年
        var m = nowDate.getMonth();//月
        var d = nowDate.getDate();//日
        return {
            nowDate:nowDate,
            year:y,
            month:m,
            day:d
        };
    }
    var getBeforeDate=function(num,unit){
        var nowDate=getNowDate();
        var beforeDate=new Date(nowDate.year,nowDate.month-1,nowDate.day);
        if(unit=="y"){
            beforeDate=new Date(nowDate.year-num,nowDate.month,nowDate.day);
        }
        else if(unit=="m"){
            beforeDate=new Date(nowDate.year,nowDate.month-num,nowDate.day);
        }
        else if(unit=="d"){
            beforeDate=new Date(nowDate.year,nowDate.month,nowDate.day-num);
        }
        return beforeDate;
    };

    var getSelDate=function(num,unit){
        var nowDate=getNowDate();
        var beforeDate=new Date(nowDate.year,nowDate.month-1,nowDate.day);
        if(unit=="y"){
            beforeDate=new Date(nowDate.year-num,nowDate.month,nowDate.day)
            beforeDate=beforeDate.getFullYear() + '-' + (beforeDate.getMonth() + 1) + '-' + beforeDate.getDate();
        }
        else if(unit=="m"){
            beforeDate=new Date(nowDate.year,nowDate.month-num,nowDate.day);
            beforeDate=beforeDate.getFullYear() + '-' + (beforeDate.getMonth() + 1) + '-' + beforeDate.getDate();
        }
        else if(unit=="d"){
            beforeDate=new Date(nowDate.year,nowDate.month,nowDate.day-num);
            beforeDate=beforeDate.getFullYear() + '-' + (beforeDate.getMonth() + 1) + '-' + beforeDate.getDate();
        }
        return beforeDate;
    };

    //当前日期
    var getCurDate=function(){
        var today=new Date();
        var year=today.getFullYear(); //获取完整年份(4位)
        var month=today.getMonth(); //获取当前月份(0-11)
        month=month+1;
        if(month<10)month = "0"+month;
        var day=today.getDate();  //获取当前日(1-31)
        if(day<10)day = "0"+day;
        var nowDate=year.toString() + '-' + month.toString() + '-' + day.toString();
        return nowDate;
    };

    //获取当年第一天
    var getFirstDayOfYear=function(date){
        date.setDate(1);
        date.setMonth(0);
        return timeFormat(date);
    };

    //获取当年最后一天
    var getLastDayOfYear=function(date){
        var year = date.getFullYear(); //年
        var day = new Date(year,12,0);
        return timeFormat(day);
    };

    //获取当季第一天
    var getFirstDayOfSeason=function(date){
        var month = date.getMonth();
        if(month <3 ){
            date.setMonth(0);
        }else if(2 < month && month < 6){
            date.setMonth(3);
        }else if(5 < month && month < 9){
            date.setMonth(6);
        }else if(8 < month && month < 11){
            date.setMonth(9);
        }
        date.setDate(1);
        return timeFormat(date);
    };

    //获取当季最后一天
    var getLastDayOfSeason=function(date){
        var month = date.getMonth();
        if(month <3 ){
            date.setMonth(0);
        }else if(2 < month && month < 6){
            date.setMonth(3);
        }else if(5 < month && month < 9){
            date.setMonth(6);
        }else if(8 < month && month < 11){
            date.setMonth(9);
        }
        var year = date.getFullYear(); //年
        var month = date.getMonth(); //月
        var day = new Date(year,month + 3,0);
        return timeFormat(day);
    };

    //获取当月第一天
    var getFirstDayOfMonth=function(date){
        date.setDate(1);
        return timeFormat(date);
    };

    //获取当月最后一天
    var getLastDayOfMonth=function(date){
        var year = date.getFullYear(); //年
        var month = date.getMonth() + 1; //月
        var day = new Date(year,month,0);
        return timeFormat(day);
    };

    //获取本周的周一
    var getFirstDayOfWeek=function(date){
        var weekday = date.getDay()||7; //获取星期几,getDay()返回值是 0(周日) 到 6(周六) 之间的一个整数。0||7为7,即weekday的值为1-7
        date.setDate(date.getDate()-weekday+1);//往前算(weekday-1)天,年份、月份会自动变化
        return timeFormat(date);
    }

    //获取本周的周末
    var getLastDayOfWeek=function(date){
        var weekday = date.getDay()||7; //获取星期几,getDay()返回值是 0(周日) 到 6(周六) 之间的一个整数。0||7为7,即weekday的值为1-7
        date.setDate(date.getDate()-weekday+7);//往前算(weekday-1)天,年份、月份会自动变化
        return timeFormat(date);
    };

    var timeFormat=function(date){
        var year = date.getFullYear(); //年
        var month = date.getMonth() + 1; //月
        var day = date.getDate(); //日
        if(month < 10){
            month = "0" + month;
        }
        if(day < 10){
            day = "0" + day;
        }
        return year + "-" + month + "-" + day;
    };

    return{
        getNowDate:getNowDate,
        getBeforeDate:getBeforeDate,
        getSelDate:getSelDate,
        getCurDate:getCurDate,
        getFirstDayOfYear:getFirstDayOfYear,
        getLastDayOfYear:getLastDayOfYear,
        getFirstDayOfSeason:getFirstDayOfSeason,
        getLastDayOfSeason:getLastDayOfSeason,
        getFirstDayOfMonth:getFirstDayOfMonth,
        getLastDayOfMonth:getLastDayOfMonth,
        getFirstDayOfWeek:getFirstDayOfWeek,
        getLastDayOfWeek:getLastDayOfWeek,
        timeFormat:timeFormat
    };
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值