function fmtDateStarAndEnd (l, fmtStr, isStamp = false) {
let fmt = 'yyyy-MM-dd hh:mm:ss';
if (fmtStr) {
fmt = fmtStr;
}
let firstDate = null
let endDate = null
if (l&&l.length) {
firstDate = new Date(l[0])
endDate = new Date(l[1] || l[0])
} else {
firstDate = new Date()
endDate = new Date(firstDate)
}
firstDate.setDate(1);
endDate.setMonth(endDate.getMonth() + 1);
endDate.setDate(0);
let start = new Date(fmtDateTime('yyyy/MM/dd', firstDate) + ' ' + '00:00:00')
let end = new Date(fmtDateTime('yyyy/MM/dd', endDate) + ' ' + '23:59:59')
if (isStamp) {
return [start.getTime(), end.getTime()]
} else {
return [fmtDateTime(fmt, start), fmtDateTime(fmt, end)]
}
};
function fmtDateTime(fmt, date) {
var o = {
"M+": date.getMonth() + 1,
"d+": date.getDate(),
"h+": date.getHours(),
"m+": date.getMinutes(),
"s+": date.getSeconds(),
"q+": Math.floor((date.getMonth() + 3) / 3),
"S": date.getMilliseconds()
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}