java calendar - 获取一周的最后 5 天(没有周末)

标签 java calendar

我正在处理一些问题。

我需要从数据库中获取一些数据

1) 获取最近5天的5条记录(每天一条记录),但日期必须是一周中的几天(现在是周末)

2) 从当月获取 20 条记录(当前或过去,每天一条记录)

我正在与 Java 日历作斗争,但我仍然不知道如何获取日期。

有人能帮帮我吗?

最佳答案

应该工作:

private Calendar workingDaysBack(final Calendar from, final int count) {
    for (int daysBack = 0; daysBack < count; ++daysBack) {
        do {
            from.add(Calendar.DAY_OF_YEAR, -1);
        } while(isWeekend(from));
    }
    return from;
}

private boolean isWeekend(Calendar cal) {
    return cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY ||
           cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY;
}

关于java calendar - 获取一周的最后 5 天(没有周末),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9603768/

相关文章:

javascript - 如何在输入中添加或减少天数?

java - 将日期作为整数输入参数

java - 如何模拟Web服务已关闭而不关闭它。 (Tomcat服务)

java - 从 System.in 读取的整数值不是键入的值

带有多个字符定界符的 Java String.split

jsp - 在jsp中弹出日期选择日历

php - 在今天的日期和设置日期之间禁用 jquery 日历中的日期

html - 日历应该用表格表示吗?为什么 Google Calendar 只对列使用表格?

java - 创建实例时重写方法?

java - 使用 for 循环将文本中的书面数字转换为总和