我想在下拉列表中显示过去90天的所有周结束日期。如何检索最后90天的星期五?
答案 0 :(得分:2)
只是为了给你一个想法(因为你标记了JAVA),在JAVA中这可以使用Date API来完成。对于测试我只需要检查5周,你可以一直到90周。请注意,这提供了一个想法,可以优化,可能是的
public static void main(String[] args) {
try {
LocalDateTime localDateTime = LocalDate.now().atStartOfDay();
DayOfWeek dotw = localDateTime.getDayOfWeek();
String dayOfTheWeek = dotw.name();
for (int daysOfTheWeek = 1; daysOfTheWeek < 7; daysOfTheWeek++) {
if (dayOfTheWeek.equals(DayOfWeek.FRIDAY.name())) {
break;
} else {
localDateTime = LocalDate.now().atStartOfDay().minusDays(daysOfTheWeek);
dotw = localDateTime.getDayOfWeek();
dayOfTheWeek = dotw.name();
}
}
ArrayList<LocalDate> localDates = new ArrayList<LocalDate>();
for (int weekCount = 0; weekCount < 5; weekCount++) {
localDates.add(localDateTime.minusWeeks(weekCount).toLocalDate());
}
System.out.println(localDates);
} catch (final Throwable t) {
t.printStackTrace();
}
}