【问题标题】:Get weekday and date of the following days in Android在Android中获取接下来几天的工作日和日期
【发布时间】:2013-12-11 03:29:22
【问题描述】:

我得到了这两个小函数来获取工作日和今天的日期:

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

提前致谢

【问题讨论】:

  • 输出应该是什么?您是否在 SO 上搜索过解决方案?
  • 您好,是的,我已经四处寻找可能的解决方案,但没有成功。我的问题中解释了输出。如果我调用我的 2 个函数 (giveDay() + " - " + giveDate()) 我会得到星期二 - 2013 年 11 月 26 日......我需要的是在接下来的日子里得到一个补充。 (giveDay(1) + " - " + giveDate(1)) (或类似的东西)必须导致星期三 - 2013 年 11 月 27 日
  • 检查这是否有帮助:stackoverflow.com/questions/20139385/… 对于任何给定的日期/日期,您必须相应地设置日历实例并根据新值集检索值。
  • 我想这会有所帮助。让我尝试在我的代码中添加一些内容...我会在 10 分钟内回复您。同时谢谢!

标签: android string date calendar simpledateformat


【解决方案1】:

你可以使用下面的代码

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

【讨论】:

    猜你喜欢
    • 2013-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 2012-10-04
    相关资源
    最近更新 更多