js根据日期时间区间获取季度Q1-Q4列表

 getFourSeason(start,stop) {//得到季度list列表
                let _this=this;
                let starttime = new Date(start);
                let endtime = new Date(stop);
                let startYear = starttime.getFullYear();
                let endYear = endtime.getFullYear();
                let startMonth = starttime.getMonth() + 1;
                let endMonth = endtime.getMonth() + 1;
                var arr = [];
                for (let i = startYear; i <= endYear; i++) {
                    // 开始年份与结束年份相同
                    if(startYear == endYear){
                        if(startMonth<=3 && endMonth<=3){
                            arr.push(
                                {name:i+"年"+"第一季度",startDate:startYear+'-'+"01-01 00:00:00",endDate:endYear+'-'+"03-31 00:00:00"}
                            )
                        }else if(startMonth<=3 && 3<endMonth && endMonth<=6){
                            arr.push(
                                {name:i+"年"+"第一季度",startDate:startYear+'-'+"01-01 00:00:00",endDate:endYear+'-'+"03-31 00:00:00"},
                                {name:i+"年"+"第二季度",startDate:startYear+'-'+"04-01 00:00:00",endDate:endYear+'-'+"06-30 00:00:00"},
                            )
                        }else if(startMonth<=3 && 6<endMonth && endMonth<=9){
                            arr.push(
                                {name:i+"年"+"第一季度",startDate:startYear+'-'+"01-01 00:00:00",endDate:endYear+'-'+"03-31 00:00:00"},
                                {name:i+"年"+"第二季度",startDate:startYear+'-'+"04-01 00:00:00",endDate:endYear+'-'+"06-30 00:00:00"},
                                {name:i+"年"+"第三季度",startDate:startYear+'-'+"07-01 00:00:00",endDate:endYear+'-'+"09-30 00:00:00"},
                            )
                        }else if(startMonth<=3 && 9<endMonth && endMonth<=12){
                            arr.push(
                                {name:i+"年"+"第一季度",startDate:startYear+'-'+"01-01 00:00:00",endDate:endYear+'-'+"03-31 00:00:00"},
                                {name:i+"年"+"第二季度",startDate:startYear+'-'+"04-01 00:00:00",endDate:endYear+'-'+"06-30 00:00:00"},
                                {name:i+"年"+"第三季度",startDate:startYear+'-'+"07-01 00:00:00",endDate:endYear+'-'+"09-30 00:00:00"},
                                {name:i+"年"+"第四季度",startDate:startYear+'-'+"10-01 00:00:00",endDate:endYear+'-'+"12-31 00:00:00"}
                            )
                        }else if(3<startMonth && startMonth<=6 && 3<endMonth && endMonth<=6){
                            arr.push(
                                {name:i+"年"+"第二季度",startDate:startYear+'-'+"04-01 00:00:00",endDate:endYear+'-'+"06-30 00:00:00"},
                            )
                        }else if(3<startMonth && startMonth<=6 && 6<endMonth && endMonth<=9){
                            arr.push(
                                {name:i+"年"+"第二季度",startDate:startYear+'-'+"04-01 00:00:00",endDate:endYear+'-'+"06-30 00:00:00"},
                                {name:i+"年"+"第三季度",startDate:startYear+'-'+"07-01 00:00:00",endDate:endYear+'-'+"09-30 00:00:00"},
                            )
                        }else if(3<startMonth && startMonth<=6 && 9<endMonth && endMonth<=12){
                            arr.push(
                                {name:i+"年"+"第二季度",startDate:startYear+'-'+"04-01 00:00:00",endDate:endYear+'-'+"06-30 00:00:00"},
                                {name:i+"年"+"第三季度",startDate:startYear+'-'+"07-01 00:00:00",endDate:endYear+'-'+"09-30 00:00:00"},
                                {name:i+"年"+"第四季度",startDate:startYear+'-'+"10-01 00:00:00",endDate:endYear+'-'+"12-31 00:00:00"}
                            )
                        }else if(6<startMonth && startMonth<=9 && 6<endMonth && endMonth<=9){
                            arr.push(
                                {name:i+"年"+"第三季度",startDate:startYear+'-'+"07-01 00:00:00",endDate:endYear+'-'+"09-30 00:00:00"},
                            )
                        }else if(6<startMonth && startMonth<=9 && 9<endMonth && endMonth<=12){
                            arr.push(
                                {name:i+"年"+"第三季度",startDate:startYear+'-'+"07-01 00:00:00",endDate:endYear+'-'+"09-30 00:00:00"},
                                {name:i+"年"+"第四季度",startDate:startYear+'-'+"10-01 00:00:00",endDate:endYear+'-'+"12-31 00:00:00"}
                            )
                        }else if(9<startMonth && startMonth<=12 && 9<endMonth && endMonth<=12){
                            arr.push(
                                {name:i+"年"+"第四季度",startDate:startYear+'-'+"10-01 00:00:00",endDate:endYear+'-'+"12-31 00:00:00"}
                            )
                        }
                    }else{
                        // 开始的那年
                        if (i == startYear) {
                            if(startMonth<=3){
                                arr.push(
                                    // startYear+"年"+"第一季度",
                                    // startYear+"年"+"第二季度",
                                    // startYear+"年"+"第三季度",
                                    // startYear+"年"+"第四季度"
                                    {name:startYear+"年"+"第一季度",startDate:startYear+'-'+"01-01 00:00:00",endDate:startYear+'-'+"03-31 00:00:00"},
                                    {name:startYear+"年"+"第二季度",startDate:startYear+'-'+"04-01 00:00:00",endDate:startYear+'-'+"06-30 00:00:00"},
                                    {name:startYear+"年"+"第三季度",startDate:startYear+'-'+"07-01 00:00:00",endDate:startYear+'-'+"09-30 00:00:00"},
                                    {name:startYear+"年"+"第四季度",startDate:startYear+'-'+"10-01 00:00:00",endDate:startYear+'-'+"12-31 00:00:00"}
                                )
                            }else if(startMonth>3&&startMonth<=6){
                                arr.push(
                                    // startYear+"年"+"第二季度",
                                    // startYear+"年"+"第三季度",
                                    // startYear+"年"+"第四季度"
                                    {name:startYear+"年"+"第二季度",startDate:startYear+'-'+"04-01 00:00:00",endDate:startYear+'-'+"06-30 00:00:00"},
                                    {name:startYear+"年"+"第三季度",startDate:startYear+'-'+"07-01 00:00:00",endDate:startYear+'-'+"09-30 00:00:00"},
                                    {name:startYear+"年"+"第四季度",startDate:startYear+'-'+"10-01 00:00:00",endDate:startYear+'-'+"12-31 00:00:00"}
                                )
                            }else if(startMonth>6&&startMonth<=9){
                                arr.push(
                                    // startYear+"年"+"第三季度",
                                    // startYear+"年"+"第四季度"
                                    {name:startYear+"年"+"第三季度",startDate:startYear+'-'+"07-01 00:00:00",endDate:startYear+'-'+"09-30 00:00:00"},
                                    {name:startYear+"年"+"第四季度",startDate:startYear+'-'+"10-01 00:00:00",endDate:startYear+'-'+"12-31 00:00:00"}
                                )
                            }else{
                                arr.push(
                                    // startYear+"年"+"第四季度"
                                    {name:startYear+"年"+"第四季度",startDate:startYear+'-'+"10-01 00:00:00",endDate:startYear+'-'+"12-31 00:00:00"}

                                )
                            }
                        }
                        if(i>startYear&&i<endYear){
                            arr.push(
                                // i+"年"+"第一季度",
                                // i+"年"+"第二季度",
                                // i+"年"+"第三季度",
                                // i+"年"+"第四季度"
                                {name:i+"年"+"第一季度",startDate:i+'-'+"01-01 00:00:00",endDate:i+'-'+"03-31 00:00:00"},
                                {name:i+"年"+"第二季度",startDate:i+'-'+"04-01 00:00:00",endDate:i+'-'+"06-30 00:00:00"},
                                {name:i+"年"+"第三季度",startDate:i+'-'+"07-01 00:00:00",endDate:i+'-'+"09-30 00:00:00"},
                                {name:i+"年"+"第四季度",startDate:i+'-'+"10-01 00:00:00",endDate:i+'-'+"12-31 00:00:00"}
                            )
                        }
                        // 结束的那年
                        if(i==endYear){
                            if(endMonth<=3){
                                arr.push(
                                    // endYear+"年"+"第一季度"
                                    {name:endYear+"年"+"第一季度",startDate:endYear+'-'+"01-01 00:00:00",endDate:endYear+'-'+"03-31 00:00:00"},
                                    
                                )
                            }else if(endMonth>3&&endMonth<=6){
                                arr.push(
                                    // endYear+"年"+"第一季度",
                                    // endYear+"年"+"第二季度"
                                    {name:endYear+"年"+"第一季度",startDate:endYear+'-'+"01-01 00:00:00",endDate:endYear+'-'+"03-31 00:00:00"},
                                    {name:endYear+"年"+"第二季度",startDate:endYear+'-'+"04-01 00:00:00",endDate:endYear+'-'+"06-30 00:00:00"},
                                )
                            }else if(endMonth>6&&endMonth<=9){
                                arr.push(
                                    // endYear+"年"+"第一季度",
                                    // endYear+"年"+"第二季度",
                                    // endYear+"年"+"第三季度"
                                    {name:endYear+"年"+"第一季度",startDate:endYear+'-'+"01-01 00:00:00",endDate:endYear+'-'+"03-31 00:00:00"},
                                    {name:endYear+"年"+"第二季度",startDate:endYear+'-'+"04-01 00:00:00",endDate:endYear+'-'+"06-30 00:00:00"},
                                    {name:endYear+"年"+"第三季度",startDate:endYear+'-'+"07-01 00:00:00",endDate:endYear+'-'+"09-30 00:00:00"},
                                )
                            }else{
                                arr.push(
                                    // endYear+"年"+"第一季度",
                                    // endYear+"年"+"第二季度",
                                    // endYear+"年"+"第三季度",
                                    // endYear+"年"+"第四季度"
                                    {name:endYear+"年"+"第一季度",startDate:endYear+'-'+"01-01 00:00:00",endDate:endYear+'-'+"03-31 00:00:00"},
                                    {name:endYear+"年"+"第二季度",startDate:endYear+'-'+"04-01 00:00:00",endDate:endYear+'-'+"06-30 00:00:00"},
                                    {name:endYear+"年"+"第三季度",startDate:endYear+'-'+"07-01 00:00:00",endDate:endYear+'-'+"09-30 00:00:00"},
                                    {name:endYear+"年"+"第四季度",startDate:endYear+'-'+"10-01 00:00:00",endDate:endYear+'-'+"12-31 00:00:00"}
                                )
                            }
                        }
                    }
        
                }
                const list=arr;
                if(list.length===1){
                    list[0].name='本季度变更';
                    
                    list[0].startDate=_this.createDatetime_Org;
                    list[0].endDate=_this.nowDateTime;
                }else if(list.length===2){
                    list[1].name='本季度变更';
                    list[0].name='上季度变更';

                    list[0].startDate=_this.createDatetime_Org;
                    list[1].endDate=_this.nowDateTime;
                }else if(list.length>2){
                    list[list.length-1].name='本季度变更';
                    list[list.length-2].name='上季度变更';

                    list[0].startDate=_this.createDatetime_Org;
                    list[list.length-1].endDate=_this.nowDateTime;
                    console.log( list[list.length-1].name,'本季度')
                }
               return list;
            },
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值