Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Java, how to get strings of days of week (Sun, Mon, ..., Sat) with system's default Locale (language)

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?

like image 665
Naetmul Avatar asked May 14 '13 10:05

Naetmul


People also ask

How do I get the day of the week in Java?

To get the day of the week, use Calendar. DAY_OF_WEEK.

How do you find the day of the week in a string?

getInstance(); String dayOfWeek = getDayOfWeek(Calendar. DAY_OF_WEEK); System. out. println(dayOfWeek);

Can you format calendar in Java?

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.

What is Java calendar field?

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.


1 Answers

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() 
like image 121
Blackbelt Avatar answered Oct 14 '22 00:10

Blackbelt