假设当前季度是 3,年份是 2011,我怎样才能得到最后 5 个季度
期望的输出:
Q3-2011
Q2-2011
Q1-2011
Q4-2010
Q3-2010
附加了 Q 和“-”。
我正在尝试下面
int generateQuater = 5;
int currentQuater = 3;//GetQuarter(DateTime.Now.Month);
int currentYear = DateTime.Now.Year;
List<string> lstQuaterYear = new List<string>();
lstQuaterYear.Add(string.Concat('Q',currentQuater, '-', currentYear));
for (int i = generateQuater; i > 0; i++)
{
//code to be placed
}
谢谢
最佳答案
您必须减少您的循环变量。剩下的不是太难的数学。 也没有必要以任何特殊方式处理第一次迭代:
for (int i = generateQuater; i > 0; i--)
{
lstQuaterYear.Add(string.Format("Q{0}-{1}", currentQuater, currentYear));
if (--currentQuater == 0)
{
currentQuater = 4;
currentYear--;
}
}
关于c# - 在 C# 中获取最后 'N' 个季度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7484965/