【问题标题】:How to add days to date using java [closed]如何使用java添加日期[关闭]
【发布时间】:2013-12-17 05:09:55
【问题描述】:

DateUtil.addDays(days, date) java 中是否有任何 addDays 方法可以将日期添加到日期? 为我提供有关如何添加日期的任何解决方案

【问题讨论】:

  • 这个极其糟糕的问题究竟是如何获得 5 票赞成的,即使最初被错误地标记为 [java-ee] 标签?

标签: java


【解决方案1】:

您可以使用日历。

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
c.setTime(new Date()); // Now use today date.
c.add(Calendar.DATE, 5); // Adding 5 days
String output = sdf.format(c.getTime());
System.out.println(output);

【讨论】:

    【解决方案2】:

    JDK 原生日期/时间处理非常糟糕。 Joda Time 库的 DateTimejava.util.Date 类对于任何需要操作的东西都要好:

    DateTime dt = new DateTime();
    DateTime twoDaysLater = dt.plusDays(2);
    

    如果你想从java.util.Date 创建一个DateTime

    Date nativeDate = new Date();
    DateTime dt = new DateTime(nativeDate);
    

    如果您需要转换回java.util.Date

    Date date = dt.toDate();
    

    【讨论】:

      【解决方案3】:

      JDK 中最接近的就是使用TimeUnit

      date.setTime(date.getTime() + TimeUnit.DAYS.toMillis(days));
      

      有趣的是(难以置信地)Date 不是immutable!只是众多questionable design decisions in the JDK 之一。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-25
        • 2014-09-11
        • 2012-10-12
        • 1970-01-01
        • 1970-01-01
        • 2017-06-02
        • 1970-01-01
        相关资源
        最近更新 更多