获取有关给定开始和结束日期的季度数据

时间:2012-07-09 02:45:21

标签: c# .net sharepoint-2010

我的需求是每季度从一个共享点列表中获取数据,即我将开始日期和结束日期作为参数传递,从开始日期的月份开始,必须计算季度。我说,我从2012年2月5日开始作为参数我的开始日期然后四分之一从4月2日开始,同样在其他几个月,

现在想象一下,我有2012年12月,2013年的jan和feb,其中包括四分之一,在我的情况下,12月的数据应该包含四分之一,而jan和feb应该包含另一个季度。 我该如何处理这个问题。

我必须在我的汽车输出名称和四分之一的汽车总数量中显示 我的课程差异看起来像这样。

public class Foo
{
    public int quantity { get; set; }
    public string cars { get; set; }
    public DateTime date { get; set; }
}

List<Foo> lst = new List<Foo>();
lst.Add(new Foo { date = Convert.ToDateTime("31/Dec/2011"), cars = "cars1", quantity = 20 });
lst.Add(new Foo { date = Convert.ToDateTime("31/Dec/2011"), cars = "cars2", quantity = 30 });
lst.Add(new Foo { date = Convert.ToDateTime("1/Jan/2012"), cars = "cars2", quantity = 80 });
lst.Add(new Foo { date = Convert.ToDateTime("11/Feb/2012"), cars = "cars1", quantity = 10 });
lst.Add(new Foo { date = Convert.ToDateTime("29/Feb/2012"), cars = "cars3", quantity = 7 });
lst.Add(new Foo { date = Convert.ToDateTime("29/May/2012"), cars = "cars3", quantity = 1 });

1 个答案:

答案 0 :(得分:0)

“季度”的概念是特定领域的(即业务确定),因此您需要自己实施。

class Quarter {
    public static int GetQuarter(Datetime date){
        if (date >= beginningOfQuarter1 && date < endOfQuarter1){
            return 1;
        } else { ... }
    }
}

// elsewhere

int someDatesQuarter = Quarter.GetQuarter(someDate);

看看我要去哪里?我确信那里有很多实现,而那些可能更面向对象的实现。