有人知道使用Java日历从日期中减去X天的简单方法吗?
我无法找到任何允许我直接从Java中的日期减去X天的函数.有人能指出我正确的方向吗?
以下函数生成今天的日期; 我怎么能让它只生产昨天的日期?
private String toDate() {
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
return dateFormat.format(date).toString();
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
2012-07-10
Run Code Online (Sandbox Code Playgroud)
我只需要昨天的日期,如下所示.可以在我的功能中执行此操作吗?
2012-07-09
Run Code Online (Sandbox Code Playgroud) 现在我正在使用此代码
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DATE) - 1, 12, 0, 0); //Sets Calendar to "yeserday, 12am"
if(sdf.format(getDateFromLine(line)).equals(sdf.format(cal.getTime()))) //getDateFromLine() returns a Date Object that is always at 12pm
{...CODE
Run Code Online (Sandbox Code Playgroud)
必须有一种更平滑的方法来检查getdateFromLine()返回的日期是否是昨天的日期.只有日期很重要,而不是时间.这就是我使用SimpleDateFormat的原因.感谢您的帮助!