假设目前的季度是3,年份是2011年.我怎样才能获得最后5个季度
期望的输出:
Q3-2011
Q2-2011
Q1-2011
Q4-2010
Q3-2010
Run Code Online (Sandbox Code Playgroud)
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
}
Run Code Online (Sandbox Code Playgroud)
谢谢
您必须减少循环变量。剩下的就不是太难的数学了。也没有必要以任何特殊方式处理第一次迭代:
for (int i = generateQuater; i > 0; i--)
{
lstQuaterYear.Add(string.Format("Q{0}-{1}", currentQuater, currentYear));
if (--currentQuater == 0)
{
currentQuater = 4;
currentYear--;
}
}
Run Code Online (Sandbox Code Playgroud)