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

时间:如何获得下一个星期五?

封德华
2023-03-14
问题内容

如何使用Joda-Time API 获得下一个星期五。

LocalDate今天的是today。在我看来,您必须决定本周星期五之前还是之后。请参阅此方法:

private LocalDate calcNextFriday(LocalDate d) {
    LocalDate friday = d.dayOfWeek().setCopy(5);
    if (d.isBefore(friday)) {
        return d.dayOfWeek().setCopy(5);
    } else {
        return d.plusWeeks(1).dayOfWeek().setCopy(5);
    }
}

是否可以缩短时间或使用单缸衬套?

PS:请不要建议我使用JDK的日期/时间。 Joda-Time是一个更好的API。

Java
8引入了更好的java.time包(Tutorial)。


问题答案:

随着java.time内置到Java
8及更高版本(框架教程),你可以使用TemporalAdjusters获得下一个或前一个
日的一周。

private LocalDate calcNextFriday(LocalDate d) {
  return d.with(TemporalAdjusters.next(DayOfWeek.FRIDAY));
}


 类似资料:
  • 我在android中的get day有问题。在我的活动中,我有一个按钮,当我点击这个按钮时,我的当前日期将增加到1天,最后一天是星期天。如果我点击按钮,直到当前日期增加超过下一周,最后一天将是下一周的下一个星期天。当我第一次点击时,我的代码可以正常工作,当我再次点击我的按钮时,我的当前日期最多为7天,我做了研究,但没有像预期的那样找到结果。希望你能帮忙。这样的例子:每次我按下按钮: 2017年5月

  • 本文向大家介绍shell下获取上一个月,星期时间和时间戳的范围实例,包括了shell下获取上一个月,星期时间和时间戳的范围实例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇shell下获取上一个月,星期时间和时间戳的范围实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 我正在尝试获取给定月份的第一个星期一。 我想出的最好方法是在前7天循环浏览,然后在返回时返回。有一个更好的方法吗? 问题答案: 通过查看时间的.Weekday(),您可以计算第一个星期一。

  • 问题内容: 我想找出以下内容:给定日期(对象),星期几是几号? 例如,星期日是第一天,星期一:第二天..依此类推 然后,如果输入的内容类似于今天的日期。 例 输出可能是6(因为它是星期五) 问题答案: 使用: 从文档中: 以整数返回星期几,其中星期一为0,星期日为6。

  • 问题内容: 因此,对于一个开始日期和结束日期,我想确定在这两个日期之间发生的一周中的特定天数。 那么多少个星期一,星期二等 我知道我可以在“开始日期”和“结束日期”之间循环并每天检查一次,但是可能相差很多天。我更喜欢不需要循环的东西。有任何想法吗?(必须在SQL Server2005+中受支持) 问题答案: 鉴于我 认为 您正在尝试获得的结果,应该这样做:

  • 我想知道特定月份/年份的第一个星期一的日期。 我所拥有的: 我基本上有两个int变量,一个代表年份,一个代表月份。 我想要的是: 我想知道这个月的第一个星期一,最好是整数或整数值。 例如: 我有2014年和1月,这个月的第一个星期一是6号,所以我想返回6号。 问题: 我原以为我可以用做到这一点,但我在设置日历时遇到了问题,因为只有年份和月份可用。此外,我不知道如何使用返回月份/年份的第一个星期一。