Search code examples
androidcalendardayofweekdays

Name of day in string format with days to furure


I need name of day in week but dependent o actual date and date to future. For example I need name of day today, then name of day tomorrow, name of date +2 days etc I make this code but not working good. So is there any better way how I can in android get name of day?

 public String getDay3Name() {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        String[] days = new String[] { "SUNDAY","SUNDAY","SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" };
        String day = days[calendar.get(Calendar.DAY_OF_WEEK)+1];
        return day;
    }
    public String getDay4Name() {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        String[] days = new String[] { "SUNDAY","SUNDAY","SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" };
        String day = days[calendar.get(Calendar.DAY_OF_WEEK)+2];
        return day;
    }

Solution

  • import java.util.Calendar;
    import java.util.Locale;
    
    
    public class CalSample {
    
        private static final int TODAY = 0;
        private static final int TOMORROW = 1;
        private static final int DAY_AFTER_TOMORROW = 2;
        private static final int THREE_DAYS_FROM_TODAY = 3;
        private static final int FOUR_DAYS_FROM_TODAY = 4;
        private static final int FIVE_DAYS_FROM_TODAY = 5;
        private static final int SIX_DAYS_FROM_TODAY = 6;
    
        public static void main(String args[]){
            CalSample calSample = new CalSample();
            calSample.getNameOfDayOfWeek(TODAY);
            calSample.getNameOfDayOfWeek(TOMORROW);
            calSample.getNameOfDayOfWeek(DAY_AFTER_TOMORROW);
            calSample.getNameOfDayOfWeek(THREE_DAYS_FROM_TODAY);
            calSample.getNameOfDayOfWeek(FOUR_DAYS_FROM_TODAY);
            calSample.getNameOfDayOfWeek(SIX_DAYS_FROM_TODAY);
    
        }
        public String getNameOfDayOfWeek(int noOfDaysFromToday){
            Calendar calendar = Calendar.getInstance();
            calendar.add(Calendar.DAY_OF_YEAR, noOfDaysFromToday);
            String name = calendar.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, Locale.ENGLISH);
            System.out.println("Day Of Week:- " + name);
            return name;
        }
    }