【发布时间】:2017-10-05 17:28:49
【问题描述】:
我可以打印当前日期 如何使用日期对象从当前日期减去 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));
【问题讨论】:
-
您可以使用
Calendar来完成,只需按照here 的说明计算差值,然后调用dateFormat.format(calendar.getTime()) -
@Hugo ,我写了这样的代码 Date date = new Date(); DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");日历 cal = Calendar.getInstance(); //cal.setTime(dateInstance); cal.add(日历.DATE,-2);日期 dateBefore2Days = dateFormat.format(cal.getTime());
-
@Hugo,我收到错误,例如类型不匹配无法从字符串转换为日期
-
dateFormat.format()返回String,而不是Date。你应该做dateBefore2Days = cal.getTime()。然后,如果要将Date格式化为String,则调用dateFormat.format(dateBefore2Days)。Date和String是不同的东西。Datehas no format,而format()方法返回的String表示特定格式的日期。