Java日历计算奇数周的下周五

标签 java date calendar

我想获取偶数周的下一个星期五(考虑到一年中的第几周从 1 到 54)。

例如,如果今天是星期五,而本周是偶数,我想要下星期五。如果今天是奇数周的星期四,我想要明天的日期。

测试输入/输出如下:

 14/09/2012 -> 14/09/2012
 15/09/2012 -> 28/09/2012
 21/09/2012 -> 28/09/2012
 22/09/2012 -> 28/09/2012
 29/09/2012 -> 12/10/2012
 25/12/2012 -> 04/01/2013
 29/12/2012 -> 04/01/2013

最佳答案

Calendar today = Calendar.getInstance();
int dayOfWeek = today.get(Calendar.DAY_OF_WEEK);
int daysUntilNextFriday = Calendar.FRIDAY - dayOfWeek;
if(daysUntilNextFriday < 0){
    daysUntilNextFriday = daysUntilNextFriday + 7;
}
Calendar nextFriday = (Calendar)today.clone();
nextFriday.add(Calendar.DAY_OF_WEEK, daysUntilNextFriday);
if(nextFriday.get(Calendar.WEEK_OF_YEAR) % 2 == 0){
    nextFriday.add(Calendar.DAY_OF_WEEK, 7);
}
System.out.println(new SimpleDateFormat("dd/MM/yyyy").format(nextFriday.getTime()));

关于Java日历计算奇数周的下周五,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12500157/

相关文章:

java - 在运行时设置 CLASSPATH

java - Hibernate 中没有引用的一对多关系

java - 验证 Spring 休息 Controller 中的请求参数日期

java XMLGregorianCalendar 在转换时显示不同的年份

java - JSR 303 - javax.validation - 验证日期

java - 描述这棵树的最佳方式,如 UML 中的多项选择题/答案算法

iphone - 如何从我的应用程序中打开 iPhone 日历?

linux - 如何对 AwesomeWM 文本时钟小部件实现序数日?

php - 完整的日历事件数据

java - CursorAdapter 与 android 和非法错误