如何增加从日期选择器中选择的日期?
问题描述:
以下是我的代码。我在这里想要实现的是我从日期选择器中选择一个日期,并且将其设置为curretToday。但是当我到下一个日期时,它会递增今天的日期,而不是递增所选的日期。我不知道我要去哪里错。请帮助我。如何增加从日期选择器中选择的日期?
getDate(icount);
iv_refresh.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
icount = 0;
getDate(icount);
}
});
rightarrow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getDate(++icount);
}
});
leftarraow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getDate(--icount);
}
});
appTitleTextView = (TextView) findViewById(R.id.tool_bar_app_title_textview);
toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.drawer_open, R.string.drawer_close);
}
private void getDate(int i) {
if(new DatePickerFragment(tv_date).datePickerDate == null) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, i);
currentToday = dateFormat.format(calendar.getTime());
tv_date.setText(currentToday);
} else {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR,i);
currentToday =new DatePickerFragment(tv_date).datePickerDate;
tv_date.setText(currentToday);
}
答
这将帮助你获得日期递增
public Date getIncrementedDate(Date selectedDate) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(selectedDate));
c.add(Calendar.DATE, 1); // number of days to add
selectedDate = sdf.format(c.getTime()); // selectedDate is now the new date
return selectedDate;
}
答
您可以使用下面的代码:
public Date incrementDay(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.DAY_OF_YEAR, 1);
return new Date(c.getTimeInMillis());
}
请接受的答案,如果它heped –
我能够递增日期,如果它来自getTime()日期。我的问题是,当我从日期选择器中选择一个日期,我无法增加选定的日期。 –
你必须创建一个方法'getIncrementedDate(Date selectedDate)',并根据需要编写上述逻辑并进行修改 –