首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以前的,现在的和接下来的三个季度?

以前的,现在的和接下来的三个季度?
EN

Stack Overflow用户
提问于 2014-08-08 03:12:53
回答 2查看 153关注 0票数 0

我试着得到以前,现在和下三个季度的基础上的当前季度和年度。

例如:本季度=3年=2014年我想要产出,

第二季-第三季-2014年第四季-2014年第一季-2015年第二季-2015年

我试着像下面一样,但是输出是正确的,还有怎么回俱乐部上个季度?

代码语言:javascript
复制
static void Main(string[] args)
    {
        int generateQuater = 5;

        int currentQuater = 3;
        int currentYear = DateTime.Now.Year;

        List<string> lstQuaterYear = new List<string>();

        for (int i = generateQuater; i > 0; i--)
        {
            lstQuaterYear.Add(string.Format("Q{0}-{1}", currentQuater, currentYear));
            if (--currentQuater == 0)
            {
                currentQuater = 4;
                currentYear++;
            }
        }
        Console.ReadLine();
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-08 03:36:53

按以下方式更改您的循环:

代码语言:javascript
复制
for (int i = 0; i < generateQuater; i++)
    {

        if(currentQuater%5 ==0)
        {
            currentQuater = 1;
            currentYear++;
        }

        lstQuaterYear.Add(string.Format("Q{0}-{1}", currentQuater%5, currentYear));

        currentQuater++;

    }

Modulo 5将返回范围为0、4、0的值,可以解释为下一年的第1季度。因此,我们通过将currentQuater设置为1并递增currentYear来处理这种情况。这将通过每年的四个季度,在第五季度,它将转移到明年,并重新开始计数从1。

演示

票数 2
EN

Stack Overflow用户

发布于 2014-08-08 04:13:30

最后,在Tieson的帮助下编写这段代码。

问题:任何其他/linq方法,以解决所遭受的问题也欢迎。

代码语言:javascript
复制
int generateQuater = 4;
        int currentQuater = 3;
        int currentYear = DateTime.Now.Year;

        List<string> lstQuaterYear = new List<string>();
        //previous Quater
        lstQuaterYear.Add(String.Format("Q{0}-{1}", (currentQuater - 1) + (((1) / 4) * 4), currentYear - ((1) / 4)));

        for (int i = 0; i < generateQuater; i++)
        {

            if (currentQuater % 5 == 0)
            {
                currentQuater = 1;
                currentYear++;
            }
            //current and next 3 Quater
            lstQuaterYear.Add(string.Format("Q{0}-{1}", currentQuater % 5, currentYear));
            currentQuater++;
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25195538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档