使用 Date 获取昨天的日期 [英] Get yesterday's date using Date

查看:34
本文介绍了使用 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);

https://ideone.com/91M1eU

过时的答案

您减去的数字有误:

改用日历:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆