Srikanth G
Srikanth G

Reputation: 481

How to increment the date selected from the date picker?

Below is my code. What i am trying to achieve here is i am selecting a date from date picker and i am setting that to curretToday. But when i go to next date it's incrementing Today's date rather than incrementing the selected date. I don't know where i am going wrong. Please help me out.

    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);


    }

Upvotes: 0

Views: 551

Answers (2)

Sergio
Sergio

Reputation: 30655

You can use next code:

public Date incrementDay(Date date) {
    Calendar c = Calendar.getInstance();
    c.setTime(date);
    c.add(Calendar.DAY_OF_YEAR, 1); 
    return new Date(c.getTimeInMillis());
}

Upvotes: 0

Raut Darpan
Raut Darpan

Reputation: 1530

this will help you out to get the date incremented

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;
}

Upvotes: 1

Related Questions