/**
* @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;
});
獲取本週、本月、本季度、半年的時間
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.