java - 有什么好的方法可以获取下周三的日期吗?

标签 java date calendar

有什么好的方法可以获取下周三的日期吗? 也就是说,如果今天是星期二,我想得到这周星期三的日期;如果今天是星期三,我想得到下星期三的日期;如果今天是星期四,我想获取下周星期三的日期。

谢谢。

最佳答案

基本算法如下:

  • 获取当前日期
  • 获取星期几
  • 找出它与星期三的区别
  • 如果差值不是正数,则加 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 - 有什么好的方法可以获取下周三的日期吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3463756/

相关文章:

java - ORA-01810 : format code appears twice : jdbctemplate

java - 访问Tomcat中的相关文件

java - Netty-NioWorker池和工作线程池的关系

mysql - 从日期范围中查找缺失的日期

java - 如何修复 'SSLHandshakeException: Received fatal alert: decode_error' ?

java - HashMap 的键和值不是唯一的吗?

java - 在 Java 中操作和存储日期的最佳实践是什么?

javascript - 如何将日期字符串转换为没有时区的日期对象

ios - 如何在 iOS 中仅获取可见日历

javafx - 如何更改 JavaFX 中 Time4J CalendarPicker 的字体?