不使用日历从当前日期减去两天

时间:2017-10-05 17:28:49

标签: java date

我可以打印当前日期 如何使用日期对象从当前日期减去2天。无论此网站上提出的任何问题都与我的要求不符。如果我使用日历,那么我将获得不同的日期格式。我只想通过使用日期对象在yyyyMMdd中使用日期格式。我试过这个,但我得到的错误就像 运算符 - 未定义参数类型String,int 。 帮我解决这个问题。

Date date = new Date();
DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
System.out.println("date is "+dateFormat.format(date));
Date dateBefore = new Date(dateFormat.format(date)) - (2 * 24 * 3600 * 1000));

2 个答案:

答案 0 :(得分:0)

你可能想要研究一下 Joda-time。在Java中处理日期更容易。

DateTime dateTime = new DateTime(date);
dateTime = dateTime.minusDays(2);

以下是如何格式化Joda-time:example

编辑: 根据定义, dateFormat.format(date))返回一个字符串。因此,您获得的编译错误 - 无法从String中扣除int。这就是我建议熟悉Joda-time

的原因

答案 1 :(得分:0)

使用date.getTime()代替dateFormat.format(date)

 Date dateBefore = new Date(date.getTime() - (2 * 24 * 3600 * 1000));