【问题标题】:Returns a Date value that is num days after current Date JAVA [duplicate]返回当前日期后 num 天的日期值 JAVA [重复]
【发布时间】:2018-11-12 06:31:19
【问题描述】:

我有一个给定的任务,但并不真正了解在这个函数中要执行什么。这是给定的代码:

// Returns a Date value that is num days after current Date
public Date daysAfter(int num) {
    return null;
} 

【问题讨论】:

  • 还添加您尝试过但不起作用的内容,然后寻求帮助:)
  • 正如评论已经说过的那样,它应该创建并返回一个Date,即当前日期后的num
  • 发帖前一定要彻底搜索 Stack Overflow。
  • Date 多年前被 java.time 类取代。

标签: java date date-arithmetic


【解决方案1】:

恕我直言,最简单的方法是使用日历对象:

public static Date daysAfter(int num) {
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, num);
    return cal.getTime();
}

【讨论】:

  • 感谢您的帮助。你能告诉我有关 daysBefore() 函数的实现吗?
  • @JustGamingJG 只需将num 乘以-1
  • 我不同意。与the answer by Raheela Aslam 比较。这个答案更容易。更清晰易读,更现代。 Calendar 类存在设计问题并且早已过时。
  • 仅供参考,非常麻烦的旧日期时间类,例如 java.util.Datejava.util.Calendarjava.text.SimpleDateFormat 现在是 legacy,被 Java 8 中内置的 java.time 类所取代,之后。见Tutorial by Oracle
【解决方案2】:

您可以获得日期和您提供的日期如下:

public static LocalDate getDateAfter(Integer days) {
    return LocalDate.now().plusDays(days);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多