获取本周、本月、本季度、半年的时间

/**
 * @file 日期选择(获取今天、本周、本季度、本月、半年、一年的开端日期、停止日期 )
 * @author 何文林
 */

define(function (require) {
    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 choiceData = {
        // 格局化日期:yyyy-MM-dd
        formatDate: function (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);
        },
        // 获得某月的天数
        getMonthDays: function (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;
        },
        // 获得本季度的开端月份
        getQuarterStartMonth: function () {
            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;
        },
        // 获得今天开始/结束时间
        today: function () {
            return this.formatDate(now);
        },
        // 获得本周的开端日期
        getWeekStartDate: function () {
            var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
            return this.formatDate(weekStartDate);
        },
        // 获得本周的停止日期
        getWeekEndDate: function  () {
            var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));
            return this.formatDate(weekEndDate);
        },
        // 获得本月的开端日期
        getMonthStartDate: function () {
            var monthStartDate = new Date(nowYear, nowMonth, 1);
            return this.formatDate(monthStartDate);
        },
        // 获得本月的停止日期
        getMonthEndDate: function () {
            var monthEndDate = new Date(nowYear, nowMonth, this.getMonthDays(nowMonth));
            return this.formatDate(monthEndDate);
        },
        // 获得本季度的开端日期
        getQuarterStartDate: function () {
            var quarterStartDate = new Date(nowYear, this.getQuarterStartMonth(), 1);
            return this.formatDate(quarterStartDate);
        },
        // 获得本季度的停止日期
        getQuarterEndDate: function () {
            var quarterEndMonth = this.getQuarterStartMonth() + 2;
            var quarterStartDate = new Date(nowYear, quarterEndMonth, this.getMonthDays(quarterEndMonth));
            return this.formatDate(quarterStartDate);
        },
        //  获得半年开始
        getQuarterHalfYearStart: function () {
            var str = '';
            if (nowMonth <= 6) { //
                str = nowYear + '-01-01';
            }
            else {
                str = nowYear + '-07-30';
            }
            return str;
        },
        //  获得半年结束
        getQuarterHalfYearEnd: function () {
            var str = '';
            if (nowMonth <= 6) { //
                str = nowYear + '-06-30';
            }
            else {
                str = nowYear + '-12-31';
            }
            return str;
        },
        //  获得一年的开始时间
        getQuarterYearStart: function () {
            return nowYear + '-01-01';
        },
        //  获得一年的结束时间
        getQuarterYearEnd: function () {
            return nowYear + '-12-31';
        }

    };
    return choiceData;
});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值