0

我需要每季度从共享点列表中获取数据,即,我将开始日期和结束日期作为参数传递,以开始日期的月份为单位,必须计算季度。也就是说,我将 2012 年 2 月 5 日作为我的开始日期然后季度从 2 月 3 月 4 月开始,其余月份同样如此,

现在想象一下,我有 2012 年 12 月、2013 年 1 月和 2 月,其中包括一个季度,在我的情况下,12 月的数据应该包括一个季度,而 1 月和 2 月应该包括另一个季度。我该如何解决这个问题。

我必须在我的输出中显示汽车的名称,以及四分之一的汽车总数我的班级定义如下所示。

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 });
4

1 回答 1

0

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

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

// elsewhere

int someDatesQuarter = Quarter.GetQuarter(someDate);

看看我要去哪里?我敢肯定那里有很多实现,而且那些可能更面向对象。

于 2012-07-09T02:53:55.927 回答