使用 Date 获取昨天的日期 [英] Get yesterday's date using Date
本文介绍了使用 Date 获取昨天的日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下函数产生今天的日期;我怎样才能让它只产生昨天的日期?
The following function produces today's date; how can I make it produce only yesterday's date?
private String toDate() {
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
return dateFormat.format(date).toString();
}
这是输出:
2012-07-10
我只需要昨天的日期,如下所示.可以在我的函数中执行此操作吗?
I only need yesterday's date like below. Is it possible to do this in my function?
2012-07-09
推荐答案
更新
最近使用 JSR-310 改进了日期时间 API.
There has been recent improvements in datetime API with JSR-310.
Instant now = Instant.now();
Instant yesterday = now.minus(1, ChronoUnit.DAYS);
System.out.println(now);
System.out.println(yesterday);
过时的答案
您减去的数字有误:
改用日历
:
private Date yesterday() {
final Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
return cal.getTime();
}
然后,将您的方法修改为以下内容:
Then, modify your method to the following:
private String getYesterdayDateString() {
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
return dateFormat.format(yesterday());
}
<小时>
见
这篇关于使用 Date 获取昨天的日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文