需要根据当前日期前一个季度的列表 [英] Need a list previous quarters based on current date

查看:127
本文介绍了需要根据当前日期前一个季度的列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的要求很简单,我需要在屏幕上显示最近3个季度的通讯。

为此,我必须在会议中设置新闻信pdf链接。

所以如果用户在2013年2月登录,他应该看到3个链接,即

My requirement is simple, I need to show newsletters for last 3 quarters in the screen.
For this I'll have to set the news letter pdf links in session.
So if the user logs in on Feb 2013, he should see 3 links namely

'Newsletter Q1 2013'
'Newsletter Q4 2012'
'Newsletter Q3 2012'

这里是到目前为止的代码,

Here is the code so far,

        String newsLetter1 = null;
        String newsLetter2 = null;
        String newsLetter3 = null;
           Date date  = new Date();
           Calendar cal = Calendar.getInstance(Locale.US);
           cal.setTime(date);
           int month = cal.get(Calendar.MONTH);
           int quarter = (month / 3) + 1;
    //Do something here to populate newsLetter1, newsLetter2 , newsLetter3 
      variables based on current date 
           session.setAttribute("newsLetter1", "Newsletter  "+newsLetter1 );
           session.setAttribute("newsLetter2", "Newsletter  "+newsLetter2);
           session.setAttribute("newsLetter3", "Newsletter  "+newsLetter3);

我给了它一个很好的想法,但不能想到任何可能的解决方案。请帮助。

I've given it a good thought, but couldn't think of any possible solutions. Please help.

推荐答案

在每次迭代中,您可以从当前日期开始分3个单位,并按照您已有的公式计算季度。 / p>

In every iteration you can sub 3 monthes from current date and calculate quarter by the formula you already have.

int newsLetters = 3;
final Calendar cal = Calendar.getInstance(Locale.US);
for (int i = 0; i < newsLetters; i++) {
  cal.add(Calendar.MONTH, -3);
  int quarter = (cal.get(Calendar.MONTH) / 3) + 1;
  System.out.println("Newsletter Q" + quarter + " " + cal.get(Calendar.YEAR));
}

输出:

Newsletter Q2 2013
Newsletter Q1 2013
Newsletter Q4 2012

这篇关于需要根据当前日期前一个季度的列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆