我得到了这两个小功能来获得工作日和今天的日期:
public String giveDate() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy");
return sdf.format(cal.getTime()).substring(0,1).toUpperCase() + sdf.format(cal.getTime()).substring(1);
}
public String giveDay() {
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
Date d = new Date();
String dayOfTheWeek = sdf.format(d);
return dayOfTheWeek.substring(0,1).toUpperCase() + dayOfTheWeek.substring(1);
}
我目前的职能是否有任何补充以获得接下来几天的结果?
我的意思是:
giveDate(0)
和giveDay(0)
将在今天产生。
giveDate(1)
和giveDay(1)
将在明天等等。
提前致谢
答案 0 :(得分:2)
您可以使用以下代码
public String getDay(int dayFromToday) {
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy");
Calendar today = new GregorianCalendar();
today.add(Calendar.DAY_OF_MONTH, dayFromToday);
return sdf.format(today.getTime());
}
调用方式如
System.out.println(getDay(0));
System.out.println(getDay(1));
System.out.println(getDay(2));
System.out.println(getDay(3));
输出
Nov 26, 2013
Nov 27, 2013
Nov 28, 2013
Nov 29, 2013
您也可以使用此方法获得前一天。前一天将负值传递给此方法。
例如
System.out.println(getDay(-3)); // 3 days before today
输出
Nov 23, 2013