How to check if a DateTime range is within another 3 month DateTime range

后端 未结 5 1770
长情又很酷
长情又很酷 2021-01-12 08:37

Hi I have a Start Date and End Date per record in a db.

I need to check to see where the time period falls in a 2 year period broken into two lots of quarters then d

5条回答
  •  天涯浪人
    2021-01-12 09:17

    You may have to take a look at: http://msdn.microsoft.com/en-us/library/03ybds8y(v=VS.100).aspx

    This may start you up

    FindQuarter(DateTime startDate, DateTime endDate) // 01-10-09, 01-06-10
    {
        startDateQuarter = GetQuarter(startDate.Month); // 2
        endDateQuarter = GetQuarter(endDate.Month);  // 1
        endDateQuarter += (endDate.Year - startDate.Year) * 4; // 5
        // fill up startDateQuarter to endDateQuarter into a list 
        // and return it // 2,3,4,5
    }
    


    GetQuarter(int month) // 6
    {
        int quarter;
        // check the month value and accordingly assign one of the basic quarters 
        // using if-else construct ie, if(month>=6 && month<=8){ quarter = 1 };
        return quarter; // 1 
    }
    

    Instead of GetQuarter() method, you can also use a dictionary to store your month to quarter mappings

    Dictionary quarter = new Dictionary();
    quarter.Add(1,1);  //of the format Add(month,quarter)
    quarter.Add(2,1);
    ...
    

    Now instead of GetQuarter(someDate.Month); you can use quarter[someDate.Month];

提交回复
热议问题