如何从 Java 中的 Date 对象中减去 X 天? [英] How to subtract X day from a Date object in Java?
本文介绍了如何从 Java 中的 Date 对象中减去 X 天?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想做类似的事情:
Date date = new Date(); // current date
date = date - 300; // substract 300 days from current date and I want to use this "date"
怎么做?
推荐答案
Java 8 及更高版本
随着 Java 8 的日期时间 API 的变化,使用 <代码>本地日期代码>
LocalDate date = LocalDate.now().minusDays(300);
同样你可以拥有
LocalDate date = someLocalDateInstance.minusDays(300);
参考 https://stackoverflow.com/a/23885950/260990 java.util.Date 之间的转换<--> java.time.LocalDateTime
Refer to https://stackoverflow.com/a/23885950/260990 for translation between java.util.Date <--> java.time.LocalDateTime
Date in = new Date();
LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault());
Date out = Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant());
Java 7 及更早版本
Calendar cal = Calendar.getInstance();
cal.setTime(dateInstance);
cal.add(Calendar.DATE, -30);
Date dateBefore30Days = cal.getTime();
这篇关于如何从 Java 中的 Date 对象中减去 X 天?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文