android中的数据检索

时间:2012-07-25 09:12:41

标签: android date

在我的应用程序中我有1个edittext框,在这个用户将输入一些日期。我想要的是我必须从用户输入日期获得第7天的日期。我在谷歌搜索,我找到1解决方案。< / p>

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");                    
Calendar cal = Calendar.getInstance();
cal.add("field", +7);
String currentDateandTime = sdf.format(cal.getTime());

在上面的cal.add("field",+7) - &gt;字段是int.But我的日期格式是字符串。所以我不能在这里使用..请帮助我..

5 个答案:

答案 0 :(得分:1)

从SimpleDateFormat获取日期并将此日期对象添加到日历然后更改为日历。并再次从日历获得新的更新日期。等等我会发布代码

try {
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    Date UserEnterDate = sdf.parse("String from your editbox");
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(UserEnterDate);
    int day = calendar.get(Calendar.DAY_OF_MONTH);
    day = day + 7;
    calendar.set(Calendar.DAY_OF_MONTH, day);
    String newDate = calendar.get(Calendar.DAY_OF_MONTH) + "/"
                                + calendar.get(Calendar.MONTH) + "/"
                                + calendar.get(Calendar.YEAR);
} catch (Exception e) {
    // TODO: handle exception
}

答案 1 :(得分:0)

As you said thatyou got the date in string format.
So let me start from there
Suppose the date is:
String dt = "2008-01-05";  // Start date
Then do thhis::   
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
     Calendar c = Calendar.getInstance();
     try {
        c.setTime(sdf.parse(dt));
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
     c.add(Calendar.DATE, 7);  // number of days to add
     dt = sdf.format(c.getTime());
     System.out.println(""+dt);
希望,这绝对会对你有所帮助。 享受!!!

答案 2 :(得分:0)

我建议您更好地使用DatePickerDialog onClick()

中的EditText

然后您将获得单独的日期月份年份。然后你可以设置你的日期

Date+=7

答案 3 :(得分:0)

如果您知道格式,可以从字符串中获取日期对象,您的问题格式为:

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");                    
                       Calendar cal = Calendar.getInstance();
                       cal.add("field", +7);
                       String currentDateandTime = sdf.format(cal.getTime());

现在使用此日期格式来解析字符串以获取Date对象,例如:

Date dt=sdf.parse(txtDt.getText().toString());

现在将此日期设置为日历对象:

Calendar cal=Calendar.getInstance();
cal.setTime(dt);

现在您需要在此日期添加7天,因此请执行以下操作:

cal.add(Calendar.DAY_OF_MONTH, 7);

现在您已成功将7天添加到日期,现在通过使用以下方式从此Calendar对象获取日期:

Date dtNew=cal.getTime();

您可以使用以下方法将其转换为可读字符串:

String strNewDt=sdf.format(dtNew);

答案 4 :(得分:-1)

您必须将要修改的字段的名称写入“field”参数,此处#s是日历参考的链接。日历对象不是字符串,而是您正在使用的完全不同的生物。使用它的功能来做到这一点。

http://developer.android.com/reference/java/util/Calendar.html

所以你会写

!编辑,你实际上必须使用整数设置日历并解析你的字符串以匹配。使用日历中的set函数:

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");                    
                   Calendar cal = new Calendar;
                   cal.set(int year, int month, int day, int hourOfDay, int minute)
                   cal.add(DATE, 7);
                   String currentDateandTime = sdf.format(cal.getTime());