'Get Current Day (Monday, Tuesday, etc) in Java

I am working on a program that asks the user which day they would like to see a lunch menu for. They can enter any day by name (Monday, Tuesday, etc.). This works well, but I would also like them to be able to enter "Today" and then have the program get the current date and then check the menu for that value.

How would I do this?



Solution 1:[1]

You can use java.util.Calendar:

Calendar calendar = Calendar.getInstance();
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);

Solution 2:[2]

This is the exact answer of the question,

Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
System.out.println(new SimpleDateFormat("EE", Locale.ENGLISH).format(date.getTime()));
System.out.println(new SimpleDateFormat("EEEE", Locale.ENGLISH).format(date.getTime()));

Result (for today):

Sat

Saturday

Solution 3:[3]

As of Java 8 and its new java.time package:

DayOfWeek dayOfWeek = DayOfWeek.from(LocalDate.now());

or

DayOfWeek dayOfWeek = LocalDate.now().getDayOfWeek();

Solution 4:[4]

Java 8 :

LocalDate.now().getDayOfWeek().name()

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Miral Sarwar
Solution 3
Solution 4