gpt4 book ai didi

java - 在 Java 中打印当前月份过去 6 个月的名称

转载 作者:行者123 更新时间:2023-11-29 06:54:46 24 4
gpt4 key购买 nike

我需要打印当前月份过去 6 个月的名称。

比如2016年4月运行时,需要打印:nov(2015), dec(2015), jan(2016), feb(2016), march(2016), april(2016)

Format formatter = new SimpleDateFormat("MMMM YYYY");
Calendar c = Calendar.getInstance();

String[] thisAndLastFiveMonths = new String[6];
for (int i = 0; i < thisAndLastFiveMonths.length; i++) {
thisAndLastFiveMonths[i] = formatter.format(c.getTime());
c.add(Calendar.MONTH, -1);
System.out.println(c);

最佳答案

使用 Java Time API , 你可以构造一个 YearMonth表示当前年月的对象并调用 minusMonths减去月份数。

然后,您可以使用 Month.getDisplayName(style, locale) 获取月份名称的文本表示形式.给定TextStyle用于设置输出样式;你可以使用 SHORT对于你的情况:

Short text, typically an abbreviation. For example, day-of-week Monday might output "Mon".

public static void main(String[] args) {
for (int i = 5; i >= 0; i--) {
YearMonth date = YearMonth.now().minusMonths(i);
String monthName = date.getMonth().getDisplayName(TextStyle.SHORT, Locale.ENGLISH);
System.out.println(monthName + "(" + date.getYear() + ")");
}
}

打印,2016 年 4 月运行时:

Nov(2015)
Dec(2015)
Jan(2016)
Feb(2016)
Mar(2016)
Apr(2016)

关于java - 在 Java 中打印当前月份过去 6 个月的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36693239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com