js如何获取到上个季度和下个季度的开始和结束时间。
不要那种插件的。
/* 获得某月的天数 */
function getMonthDays(myMonth) {
var nowYear = new Date().getFullYear(); //当前年
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;
}
/* 获得本季度的开始月份 */
function getQuarterStartMonth() {
var nowMonth = new Date().getMonth();
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;
}
/* 获得本季度的开始日期 */
function getQuarterStartDate() {
var now = new Date();
var nowYear = now.getFullYear(); //当前年
return new Date(nowYear, getQuarterStartMonth(), 1);
}
/* 获得本季度的结束日期 */
function getQuarterEndDate() {
var now = new Date();
var nowYear = now.getFullYear(); //当前年
var quarterEndMonth = getQuarterStartMonth() + 2;
return new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
}
/* 获得上个季度的开始日期 */
function getLastQuarterStartDate() {
var now = new Date();
var nowYear = now.getFullYear(); //当前年
return new Date(nowYear, getQuarterStartMonth() - 3, 1);
}
/* 获得上个季度的结束日期 */
function getLastQuarterEndDate() {
var quarterEndMonth = getQuarterStartMonth() - 1;
var now = new Date();
now.setMonth(quarterEndMonth);
var nowMonth = now.getMonth();
var nowYear = now.getFullYear();
return new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
}
/* 获得下个季度的开始日期 */
function getNextQuarterStartDate() {
var now = new Date();
var nowYear = now.getFullYear(); //当前年
return new Date(nowYear, getQuarterStartMonth() + 3, 1);
}
/* 获得下个季度的结束日期 */
function getNextQuarterEndDate() {
var quarterEndMonth = getQuarterStartMonth() + 5;
var now = new Date();
now.setMonth(quarterEndMonth);
var nowMonth = now.getMonth();
var nowYear = now.getFullYear();
return new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
}
console.log('上季度开始=》', getLastQuarterStartDate())
console.log('上季度结束=》', getLastQuarterEndDate())
console.log('本季度开始=》', getQuarterStartDate())
console.log('本季度结束=》', getQuarterEndDate())
console.log('下季度开始=》', getNextQuarterStartDate())
console.log('下季度结束=》', getNextQuarterEndDate())
判断当前月份属于哪个季度,然后手动赋值上个季度和下个季度的开始和结束时间不行嘛。
那你要知道 当前时间 或者说 以哪个月份 为 准 。 知道了月份 就知道它的 季度 然后确定它的 上季度开始和下季度开始
比如 以六月 为准 它的 上季度 就是 第一季度 也就是 1-3月 。第一季度 就是 1月 1日开始 下个季度 就是第三季度 也就是 7月1日开始
console.log(S(11))
function S(month){
if(!month){
return
};
var m=Number(month);
if(m>0&&m<=3){
return "上季度开始12月1日 下季度开始4月1日"
}else if(m>=4&&m<=6){
return "上季度开始1月1日 下季度开始7月1日"
}else if(m>=7&&m<=9){
return "上季度开始4月1日 下季度开始10月1日"
}else if(m>=10&&m<=12){
return "上季度开始9月1日 下季度开始1月1日"
}else{
return "月份不合法"
}
}