yet*_*rSE 124 java datetime calendar date java.util.date
我想做的事情如下:
Date date = new Date(); // current date
date = date - 300; // substract 300 days from current date and I want to use this "date"
Run Code Online (Sandbox Code Playgroud)
怎么做?
Jig*_*shi 246
随着Java 8的日期时间API更改,请使用 LocalDate
LocalDate date = LocalDate.now().minusDays(300);
Run Code Online (Sandbox Code Playgroud)
LocalDate date = someLocalDateInstance.minusDays(300);
Run Code Online (Sandbox Code Playgroud)
alb*_*iff 37
@JigarJoshi这是很好的答案,当然也是@Tim建议使用.joda-time.
我只想添加更多的可能性从a中减去天数java.util.Date.
一种可能性是使用apache-commons-lang.您可以使用DateUtils以下方式执行此操作:
Date dateBefore30Days = DateUtils.addDays(new Date(),-30);
Run Code Online (Sandbox Code Playgroud)
当然添加commons-lang依赖关系只做日期减去它可能不是一个好选项,但是如果你已经使用commons-lang它是一个不错的选择.还有一个简便的方法addYears,addMonths,addWeeks等等,看看在这里的API.
另一种可能是利用新LocalDate的Java的8使用minusDays(long days)方法:
LocalDate dateBefore30Days = LocalDate.now(ZoneId.of("Europe/Paris")).minusDays(30);
Run Code Online (Sandbox Code Playgroud)
小智 30
我真的建议你使用这里找到的DateTime库:https://www.joda.org/joda-time/
这是我为几乎每个构建的Java项目添加的第一个依赖项之一.
如果您有一些遗留代码需要日期或日历,您可以将其从DateTimes转换回来.
所以减去300天会很简单:
Date date = new Date(); // Or where ever you get it from
Date daysAgo = new DateTime(date).minusDays(300).toDate();
Run Code Online (Sandbox Code Playgroud)
GKi*_*lin 13
Java 8 Time API:
Instant now = Instant.now(); //current date
Instant before = now.minus(Duration.ofDays(300));
Date dateBefore = Date.from(before);
Run Code Online (Sandbox Code Playgroud)
使用Java 8,它现在非常简单:
LocalDate date = LocalDate.now().minusDays(300);
Run Code Online (Sandbox Code Playgroud)
这里可以找到新api的精彩指南.
正如你在这里看到的,你可以做很多操作.这是一个展示你能做什么的例子!
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
//Add one day to current date.
cal.add(Calendar.DATE, 1);
System.out.println(dateFormat.format(cal.getTime()));
//Substract one day to current date.
cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
System.out.println(dateFormat.format(cal.getTime()));
/* Can be Calendar.DATE or
* Calendar.MONTH, Calendar.YEAR, Calendar.HOUR, Calendar.SECOND
*/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
263913 次 |
| 最近记录: |