gpt4 book ai didi

java - 确定一周中的哪一天是一个月中的每个日期

转载 作者:搜寻专家 更新时间:2023-10-31 19:53:21 26 4
gpt4 key购买 nike

我想用 Java 8 创建一个日历。到目前为止我有这个:

YearMonth yearMonthObject = YearMonth.of(year, month);
int daysOfCurrentMonth = yearMonthObject.lengthOfMonth();

int i = 1;
ArrayList<Integer> Dayes = new ArrayList<Integer>();
for(i=1; i<=daysOfCurrentMonth; i++){
Dayes.add(i);
}

Dayes.forEach(value -> System.out.print(value));

打印当前月份的天数(例如五月)。

如何确定1是星期日,2是星期一,3是星期二,...,8是星期日(下周)等?

最佳答案

你有一个 YearMonth目的。对于每个月的每一天,您都可以调用 atDay(dayOfMonth)返回 LocalDate在每个月的特定日期。使用该 LocalDate,您可以调用:

因此,您应该更改您的 Dayes 列表以包含 LocalDate 而不是 Integer,然后您可以拥有,例如:

YearMonth yearMonthObject = YearMonth.of(year, month);
int daysOfCurrentMonth = yearMonthObject.lengthOfMonth();

ArrayList<LocalDate> dayes = new ArrayList<LocalDate>();
for(int i = 1; i <= daysOfCurrentMonth; i++){
dayes.add(yearMonthObject.atDay(i));
}

dayes.forEach(value -> System.out.println(value.getDayOfMonth() + " " + value.getDayOfWeek()));

这将打印该月的每一天,然后是一周中的相应日期。

作为旁注,您可以通过调用 getDisplayName(style, locale) 获得星期几的真实显示值(而不是上面枚举的 name()) .样式表示如何书写日期(长格式、短格式...),区域设置是用于显示名称的区域设置。一个例子是:

value.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.ENGLISH)

这将以英文输出星期几的全文。具有上述更改的 04/2016 的示例输出:

1 Friday
2 Saturday
3 Sunday
4 Monday
5 Tuesday

关于java - 确定一周中的哪一天是一个月中的每个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37170153/

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