android中的日期检索

android中的日期检索,android,date,Android,Date,在我的应用程序中,我有一个编辑文本框,在此用户将输入一些日期。我想要的是,我必须从用户输入的日期中获取第7天的日期。我在谷歌搜索,我找到了一个解决方案 SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); Calendar cal = Calendar.getInstance(); cal.add("field", +7); String currentDateandTime = sdf.fo

在我的应用程序中,我有一个编辑文本框,在此用户将输入一些日期。我想要的是,我必须从用户输入的日期中获取第7天的日期。我在谷歌搜索,我找到了一个解决方案

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)
-->字段是int。但是我的日期格式是string。所以我不能在这里使用..请帮助我..

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

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
}

您必须将要修改的字段名称写入“field”参数,这里是指向日历引用的链接。日历对象不是字符串,而是您使用的完全不同的生物。使用它的功能来完成它

你会这么写吗

!!编辑时,实际上必须使用ints设置日历,并解析字符串以匹配。使用日历中的设置功能:

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());
希望。这肯定会对你有帮助。
享受

我建议您最好在
EditText的
onClick()中使用
DatePickerDialog

然后,您将获得个人日期月年。然后你可以设定你的日期

Date+=7

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

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");                    
                       Calendar cal = Calendar.getInstance();
                       cal.add("field", +7);
                       String currentDateandTime = sdf.format(cal.getTime());
现在使用此日期格式解析字符串以获取日期对象,例如:

Date dt=sdf.parse(txtDt.getText().toString());
现在将此日期设置为日历对象:

Calendar cal=Calendar.getInstance();
cal.setTime(dt);
现在,您需要在此日期后再增加7天,请执行以下操作:

cal.add(Calendar.DAY_OF_MONTH, 7);
现在您已成功地将日期添加到7天,现在使用以下命令从此日历对象获取日期:

Date dtNew=cal.getTime();
您可以使用以下命令将其转换为可读字符串:

String strNewDt=sdf.format(dtNew);

但是你如何决定用户将输入你想要的格式?谢谢Sameer。这是第二部分。考虑用户将输入正确的格式。日期是一个枚举,实际上是数字5,它匹配在对象内存储月信息的字段。它告诉obejct将7添加到日期,而不是月份。枚举也列在开发人员参考中。希望这有帮助。谢谢吉特。但是我的日志中有这样的想法。这不是错误。但是我没有得到结果。。07-25 15:17:00.755:I/NotificationService(60):enqueueToast pkg=com.budget1 callback=android.app.ITransientNotification$Stub$Proxy@44d013a8duration=1+1表示您的帮助。感谢sameer,它的工作方式…是限制用户以特定格式输入日期的任何方式。您必须使用输入筛选器。但我没有相应的代码。您可以在谷歌上搜索
String strNewDt=sdf.format(dtNew);