【发布时间】:2013-12-17 05:09:55
【问题描述】:
DateUtil.addDays(days, date) java 中是否有任何 addDays 方法可以将日期添加到日期? 为我提供有关如何添加日期的任何解决方案
【问题讨论】:
-
这个极其糟糕的问题究竟是如何获得 5 票赞成的,即使最初被错误地标记为 [java-ee] 标签?
标签: java
DateUtil.addDays(days, date) java 中是否有任何 addDays 方法可以将日期添加到日期? 为我提供有关如何添加日期的任何解决方案
【问题讨论】:
标签: java
您可以使用日历。
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);
【讨论】:
JDK 原生日期/时间处理非常糟糕。 Joda Time 库的 DateTime 比 java.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();
【讨论】:
JDK 中最接近的就是使用TimeUnit:
date.setTime(date.getTime() + TimeUnit.DAYS.toMillis(days));
有趣的是(难以置信地)Date 不是immutable!只是众多questionable design decisions in the JDK 之一。
【讨论】: