以下是一个财政年度的季度情况
April to June - Q1
July to Sep - Q2
Oct to Dec - Q3
Jan to March - Q4
如果输入日期的月份如上所述,我需要在季度数字方面的输出。
例如,
如果我给出一个输入日期(比如1月2日),我需要输出为Q4
。
如果我输入为(Jun 5),输出应该是Q1
。
根据输入的日期,我需要季度数字。
发布于 2012-01-02 15:15:24
您可以简单地将扩展方法编写为DateTime
public static int GetQuarter(this DateTime date)
{
if (date.Month >= 4 && date.Month <= 6)
return 1;
else if (date.Month >= 7 && date.Month <= 9)
return 2;
else if (date.Month >= 10 && date.Month <= 12)
return 3;
else
return 4;
}
并将其用作
DateTime dt = DateTime.Now;
dt.GetQuarter();
发布于 2015-08-16 19:46:06
如果你喜欢没有分支和数组的简短的解决方案,这里是我的首选解决方案。
正常季度:
public static int GetQuarter(this DateTime date)
{
return (date.Month + 2)/3;
}
财政年度季度:
public static int GetFinancialQuarter(this DateTime date)
{
return (date.AddMonths(-3).Month + 2)/3;
}
整数除法将截断小数,得到一个整数结果。将方法放入静态类中,您将拥有一个扩展方法,如下所示:
date.GetQuarter()
date.GetFinancialQuarter()
请参阅dotnetfiddle
发布于 2012-01-02 15:12:25
这是针对“正常年份”的。我认为你可以调整这个样本:
string.Format("Q{0}", (date.Month + 2)/3);
https://stackoverflow.com/questions/8698303
复制相似问题