在我的应用程序中我有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我的日期格式是字符串。所以我不能在这里使用..请帮助我..
答案 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());