How to check if it's Saturday/Sunday?

前端 未结 2 1091
耶瑟儿~
耶瑟儿~ 2020-12-06 09:14

What this code does is print the dates of the current week from Monday to Friday. It works fine, but I want to ask something else: If today is Saturday or Sunday I want it t

2条回答
  •  醉酒成梦
    2020-12-06 10:00

    public static void main(String[] args) {
        Calendar c = Calendar.getInstance();
        // Set the calendar to monday of the current week
        c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
    
        // Print dates of the current week starting on Monday to Friday
        DateFormat df = new SimpleDateFormat("EEE dd/MM/yyyy");
        for (int i = 0; i <= 10; i++) {
            System.out.println(df.format(c.getTime()));
            int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
            if (dayOfWeek == Calendar.FRIDAY) { // If it's Friday so skip to Monday
                c.add(Calendar.DATE, 3);
            } else if (dayOfWeek == Calendar.SATURDAY) { // If it's Saturday skip to Monday
                c.add(Calendar.DATE, 2);
            } else {
                c.add(Calendar.DATE, 1);
            }
    
            // As Cute as a ZuZu pet.
            //c.add(Calendar.DATE, dayOfWeek > Calendar.THURSDAY ? (9 - dayOfWeek) : 1);
        }
    }
    

    Output

    Mon 03/01/2011
    Tue 04/01/2011
    Wed 05/01/2011
    Thu 06/01/2011
    Fri 07/01/2011
    Mon 10/01/2011
    Tue 11/01/2011
    Wed 12/01/2011
    Thu 13/01/2011
    Fri 14/01/2011
    Mon 17/01/2011
    

    If you want to be cute you can replace the if/then/else with

    c.add(Calendar.DATE, dayOfWeek > 5 ? (9 - dayOfWeek) : 1);
    

    but I really wanted something easily understood and readable.

提交回复
热议问题