我的要求很简单,我需要在屏幕上显示过去 3 个季度的新闻通讯。
为此,我必须在 session 中设置新闻通讯 pdf 链接。
因此,如果用户于 2013 年 2 月登录,他应该会看到 3 个链接,即
'Newsletter Q1 2013'
'Newsletter Q4 2012'
'Newsletter Q3 2012'
这是到目前为止的代码,
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);
我仔细想过,但想不出任何可行的解决方案。请帮忙。
最佳答案
在每次迭代中,您都可以从当前日期算起 3 个月,并根据已有的公式计算季度。
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
关于java - 需要根据当前日期列出前几个季度的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18079564/