Search code examples
javaandroidandroid-datepickerandroid-date

Android Display date from one week to another like (Thursday to Thursday )


I have been stuck on this issue for the last two days. My issue is this: how can I display the date from one week to another week (Thursday to Thursday)? For example:

1/30/2014 to 2/6/2014

or

30 jan 2014 to 6 feb 2014 

when week is complete then it's change Like:

2/6/2014 to 2/13/2014

or

6 feb 2014 to 13 feb 2014

Any help or sample code will be highly appreciated.


Solution

  • Finally i got a solution and solve my problem:

    in oncreate:

    TextView tv_chart_menuvotes = (TextView) findViewById(R.id.tv_chart_menuvotes);
    String csPrevThur = getPreviousThursday();
        String csNextThur = getNextThursday();
        tv_chart_menuvotes.setText("Vote from " + csPrevThur + " To "+ csNextThur);
    

    outside the oncreate:

    public String getPreviousThursday() {
        String csDate = "";
        int perSut = 0;
        Calendar calendar = Calendar.getInstance();
        int day = calendar.get(Calendar.DAY_OF_WEEK);
    
        switch (day) {
        case Calendar.SUNDAY:
            perSut = -3;
            break;
        case Calendar.MONDAY:
            perSut = -4;
            break;
        case Calendar.TUESDAY:
            perSut = -5;
            break;
        case Calendar.WEDNESDAY:
            perSut = -6;
            break;
        case Calendar.THURSDAY:
            perSut = 0;
            break;
        case Calendar.FRIDAY:
            perSut = -1;
            break;
        case Calendar.SATURDAY:
            perSut = -2;
            break;
        }
    
        SimpleDateFormat mDF = new SimpleDateFormat("dd-MM-yyyy");
        calendar.add(Calendar.DAY_OF_MONTH, perSut);
        csDate = mDF.format(calendar.getTime());
    
        System.out.println("Prev Thursday >> " + csDate);
    
        return csDate;
    }
    
    public String getNextThursday() {
        String csDate = "";
        int perSut = 0;
        Calendar calendar = Calendar.getInstance();
        int day = calendar.get(Calendar.DAY_OF_WEEK);
    
        switch (day) {
        case Calendar.SUNDAY:
            perSut = 4;
            break;
        case Calendar.MONDAY:
            perSut = 3;
            break;
        case Calendar.TUESDAY:
            perSut = 2;
            break;
        case Calendar.WEDNESDAY:
            perSut = 1;
            break;
        case Calendar.THURSDAY:
            perSut = 7;
            break;
        case Calendar.FRIDAY:
            perSut = 6;
            break;
        case Calendar.SATURDAY:
            perSut = 5;
            break;
        }
    
        SimpleDateFormat mDF = new SimpleDateFormat("dd-MM-yyyy");
        calendar.add(Calendar.DAY_OF_MONTH, perSut);
        csDate = mDF.format(calendar.getTime());
    
        System.out.println("NextThursday >> " + csDate);
    
        return csDate;
    }