如何按顺序获得一年中的几个月

时间:2012-09-29 18:55:03

标签: java

我是Java的新手。我有这个代码,用于获取当前开始的星期几。

GregorianCalendar calendar = new GregorianCalendar();
DateFormat df = new SimpleDateFormat("EEEE");
for (int i = 0; i < 7; i++) {
    calendar.add(Calendar.DATE, 1);
    System.out.println(df.format(calendar.getTime()));
}

我想编辑代码以同样的方式获得一年中的月份 - 从当月开始。你能帮我编辑代码吗?

3 个答案:

答案 0 :(得分:4)

好吧,你可以将当月的日期设置为1(仅用于理智),然后在每一步而不是一天添加一个月。或者,你可以使用:

DateFormatSymbols symbols = new DateFormatSymbols(locale);
String[] months = symbols.getMonths();

......从那里开始。

您也可以以相同的方式使用getWeekdays作为日期名称。

答案 1 :(得分:2)

您可以使用Calendar.MONTH。只需对代码进行最少的更改,它就会如下所示:

GregorianCalendar calendar = new GregorianCalendar();
DateFormat df = new SimpleDateFormat("MMMM");
for (int i = 0; i < 12; i++) {
    calendar.add(Calendar.MONTH, 1);
    System.out.println(df.format(calendar.getTime()));
}

答案 2 :(得分:1)

在JodaTime中,您可以执行新的DateTime(),然后执行plusMonths(1)以添加一个月。这将返回一个月的日期。然后,您可以解析它以获得月份。然后重复11次以完成其余的几个月。

此链接有助于获取月份名称http://joda-time.sourceforge.net/key_instant.html