The simplest way:
String[] namesOfDays = new String[7] { "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT" };
This method does not use Locale. Therefore, if the system's language is not English, this method does not work properly.
Using Joda time, we can do like this:
String[] namesOfDays = new String[7]; LocalDate now = new LocalDate(); for (int i=0; i<7; i++) { /* DateTimeConstants.MONDAY = 1, TUESDAY = 2, ..., SUNDAY = 7 */ namesOfDays[i] = now.withDayOfWeek((DateTimeConstants.SUNDAY + i - 1) % 7 + 1) .dayOfWeek().getAsShortText(); }
However, this method uses today's date and calendar calculations, which are useless for the final purpose. Also, it is a little complicated.
Is there an easy way to get Strings like "Sun"
, "Mon"
, ..., "Sat"
with system's default locale?
To get the day of the week, use Calendar. DAY_OF_WEEK.
getInstance(); String dayOfWeek = getDayOfWeek(Calendar. DAY_OF_WEEK); System. out. println(dayOfWeek);
The DateFormat class in Java is used for formatting dates. A specified date can be formatted into the Data/Time string. For example, a date can be formatted into: mm/dd/yyyy.
Calendar class in Java is an abstract class that provides methods for converting date between a specific instant in time and a set of calendar fields such as MONTH, YEAR, HOUR, etc. It inherits Object class and implements the Comparable, Serializable, Cloneable interfaces.
If I have not misunderstood you
calendar.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.SHORT, Locale.US);
is what you are looking for. Here you can find the documentation,
Or you can also use, getShortWeekdays()
String[] namesOfDays = DateFormatSymbols.getInstance().getShortWeekdays()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With