在Android中获取以后几天的工作日和日期

时间:2013-11-26 05:49:18

标签: android string date calendar simpledateformat

我得到了这两个小功能来获得工作日和今天的日期:

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)将在明天等等。

提前致谢

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