有什么好的方法可以获取下周三的日期吗? 也就是说,如果今天是星期二,我想得到这周星期三的日期;如果今天是星期三,我想得到下星期三的日期;如果今天是星期四,我想获取下周星期三的日期。
谢谢。
最佳答案
基本算法如下:
- 获取当前日期
- 获取星期几
- 找出它与星期三的区别
- 如果差值不是正数,则加 7(即坚持下一个/ future 日期)
- 相加
下面是一个片段,展示了如何使用 java.util.Calendar
执行此操作:
import java.util.Calendar;
public class NextWednesday {
public static Calendar nextDayOfWeek(int dow) {
Calendar date = Calendar.getInstance();
int diff = dow - date.get(Calendar.DAY_OF_WEEK);
if (diff <= 0) {
diff += 7;
}
date.add(Calendar.DAY_OF_MONTH, diff);
return date;
}
public static void main(String[] args) {
System.out.printf(
"%ta, %<tb %<te, %<tY",
nextDayOfWeek(Calendar.WEDNESDAY)
);
}
}
相对于此时此地,上述代码片段的输出是"Wed, Aug 18, 2010"
。
API 链接
-
java.util.Calendar
-
java.util.Formatter
- 用于格式化字符串语法
关于java - 有什么好的方法可以获取下周三的日期吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3463756/