if (!window["XX"]) {
window.XX= {};
}
XX.datetimeUtil = {
//格式化显示日期时间
//yyyy年份
//MM月份
//dd天
//hh小时
//mm分钟
//ss秒
dateFormat: function (date, format) {
if (typeof (date) !== "object" || !date.getFullYear) {
return;
}
var result = format;
if (format.indexOf("yyyy") > -1) {
result = result.replace("yyyy", date.getFullYear());
}
if (format.indexOf("MM") > -1) {
result = result.replace("MM",
shinow.stringUtil.formatLength(date.getMonth() + 1, 2));
}
if (format.indexOf("dd") > -1) {
result = result.replace("dd",
shinow.stringUtil.formatLength(date.getDate(), 2));
}
if (format.indexOf("hh") > -1) {
result = result.replace("hh",
shinow.stringUtil.formatLength(date.getHours(), 2));
}
if (format.indexOf("mm") > -1) {
result = result.replace("mm",
shinow.stringUtil.formatLength(date.getMinutes(), 2));
}
if (format.indexOf("ss") > -1) {
result = result.replace("ss",
shinow.stringUtil.formatLength(date.getSeconds(), 2));
}
return result;
},
//根据月份值获取最后一天
getLastDayByMonth: function (year, month) {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
return year % 4 === 0 ? 29 : 28;
}
},
getMonDiff: function (startTime, endTime) {
startTime = new Date(startTime);
endTime = new Date(endTime);
var date2Mon;
var startDate = startTime.getDate() + startTime.getHours() / 24 + startTime.getMinutes() / 24 / 60;
var endDate = endTime.getDate() + endTime.getHours() / 24 + endTime.getMinutes() / 24 / 60;
if (endDate >= startDate) {
date2Mon = 0;
} else {
date2Mon = -1;
}
return (endTime.getYear() - startTime.getYear()) * 12 + endTime.getMonth() - startTime.getMonth() + date2Mon;
},
getMonthBetween: function (startTime, endTime) {
var result = [];
var nums = shinow.datetimeUtil.getMonDiff(startTime, endTime);
startTime = startTime.replace(/-/g, "");
endTime = endTime.replace(/-/g, "");
var y1 = parseInt(startTime.substr(0, 4));
var m1 = parseInt(startTime.substr(4, 2)) - 1;
var y2 = parseInt(endTime.substr(0, 4));
var m2 = parseInt(endTime.substr(4, 2)) - 1;
do {
var d = new Date(y1, m1++, 1);
var y = d.getFullYear();
var m = d.getMonth() + 1;
var mm = shinow.stringUtil.getDateLength(m);
var s = y + '-' + mm;
result.push(s);
} while (d < new Date(y2, m2, 1));
var testArray = [];
if (nums != 0) {
testArray = result.slice(0, nums);
} else {
testArray = result;
}
return testArray;
}
};