当前位置: 首页 > 面试题库 >

如何在Java中检测日期是在本周还是下周内?

轩辕天佑
2023-03-14
问题内容

如果我有一个事件的日期,例如2011-01-03,那么如何在Java中确定它是否在本周或下周?任何示例代码?

编辑:

我以为这是一个简单的问题,结果比我想象的要复杂得多,本周我要讲的是:从过去的太阳到星期六,下周是从下一个太阳到星期六。


问题答案:

这部分取决于您所说的“本周”和“下周”的意思…但是使用Joda Time可以很容易地确定它是在“今天”还是“接下来的7天”:

LocalDate event = getDateFromSomewhere();
LocalDate today = new LocalDate();
LocalDate weekToday = today.plusWeeks(1);
LocalDate fortnightToday = weekToday.plusWeeks(1);

if (today.compareTo(event) <= 0 && event.compareTo(weekToday) < 0)
{
    // It's within the next 7 days
}
else if (weekToday.compareTo(event) <= 0 && event.compareTo(fornightToday) < 0)
{
    // It's next week
}

编辑:要获取周日至周六,您可能需要:

LocalDate startOfWeek = new LocalDate().withDayOfWeek(DateTimeConstants.SUNDAY);

然后执行与上述相同的代码,但相对于startOfWeek。



 类似资料:
  • 问题内容: 请在以下建议我。如何在Python中查找特定的一天是工作日还是周末? 问题答案: import datetime

  • 问题内容: 该函数似乎只返回false。你们有没有一样?我敢肯定,我正在忽略一些东西,但是,新鲜的眼睛和所有这些… 我使用以下命令调用该函数: 问题答案: 如果您的PHP> = 5.1: 除此以外:

  • 问题内容: 我的PostgreSQL数据库中有一个有向图,节点和循环之间可以有多个路径: 我想找到一个节点和与其连接的每个节点之间的最小边数: 返回所有路径的深度: 我需要最低限度,但 递归查询的递归项中不允许使用聚合函数 但是,对结果使用聚合函数可以: 预期回报 但是,进入循环会导致无限循环,并且 对查询“节点”的递归引用一定不能出现在子查询中 ,因此我无法检查是否已访问节点: 我在这里寻找的结

  • 问题内容: 我想找到星期一,星期二,星期三等的日期戳。如果这个星期还未到这一天,我希望该日期为本周,否则为下周。谢谢! 问题答案: 看到 通过查看星期数,您可能会发现自己是否已经过了这一天:

  • 我正在寻找确切的开始和结束日期根据我们的桌面日历,如果我给周,年作为输入。但是上面的代码给出的输出是2009年1月27日星期日。我知道这是因为按照我们的说法,一周的第一天默认是星期天,但我需要按照桌面日历

  • 假设我有一些账单,上面有开始日期和结束日期。 我要检查的商业规则是 例如,3月10日到4月9日大约相隔一个月,所以我用它来检查任何两个连续的账单开始日期(4月10日和3月10日)是否相隔一个月。 现在我的问题是求周期的长度。例如,假设我有以下数据集 我正在使用JodaTime库,所以我说类似这样的话 它返回0,这是正确的,但没有用处。 结果是1,尽管相隔一天。 有什么更好的方法来做到这一点?我可以