以下函数生成今天的日期; 我怎么能让它只生产昨天的日期?
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的原因.感谢您的帮助!
我想用java获取昨天的日期.我使用了以下代码但每次都给出不同的日期,请检查代码是否必须在任何地方更改.提前致谢.
SimpleDateFormat formatter=
new SimpleDateFormat("yyyy-mm-dd ");
Calendar currentDate = Calendar.getInstance();
String previous = formatter.format(currentDate.getTime())+ "00:00:00.000000000";
System.out.println("previous ="+previous);
currentDate.add(Calendar.DATE, -1);
String previousDate = formatter.format(currentDate.getTime())+ "00:00:00.000000000";
Timestamp updateTimestamp = Timestamp.valueOf(previousDate);
System.out.println("Update date ="+updateTimestamp);
Run Code Online (Sandbox Code Playgroud)
这是我最后一次运行时得到的输出
= 2010-15-11 00:00:00.000000000
更新日期= 2011-03-10 00:00:00.0