Получите одну буквенную аббревиатуру от недельного дня даты в java
Насколько я знаю, на Java я могу получить будние дни в нормальном (пятница) или коротком режиме (Fri). Но есть ли способ получить только первую букву?
Я думал, что могу получить первое письмо, используя "подстроку", но это будет неверно для всех языков. Например, испанские будни: Lunes, Martes, Miércoles, Jueves, Viernes, Sábado и Domingo, а первое письмо для "Miércoles" - это X вместо M, чтобы разделить его с "Martes".
Ответы
Ответ 1
В Android вы можете использовать SimpleDateFormat с "EEEEE". В следующем примере вы можете увидеть его.
SimpleDateFormat formatLetterDay = new SimpleDateFormat("EEEEE",Locale.getDefault());
String letter = formatLetterDay.format(new Date());
Ответ 2
Как уже упоминалось выше, для этого нет стандартной поддержки Java. Однако использование строки форматирования "EEEEE" не гарантирует работу на всех устройствах Android. Следующий код гарантированно работает на любом устройстве:
public String firstLetterOfDayOfTheWeek(Date date) {
Locale locale = Locale.getDefault();
DateFormat weekdayNameFormat = new SimpleDateFormat("EEE", locale);
String weekday = weekdayNameFormat.format(date);
return weekday.charAt(0)+"";
}
Ответ 3
Для этого не существует стандартной поддержки API Java.
Отчасти причина в том, что многие (возможно, даже самые) языки не имеют обычных уникальных однобуквенных сокращений в будние дни. На английском языке, например, нет (M T W T F S S).
А (гипотетический) вариант форматирования, который не работает 1 во многих/большинстве локалей, будет препятствием для интернационализации, а не помощи.
1 - Я имею в виду это в человеческом смысле. Вы могли бы придумать конвенцию, но люди не понимали, что означают сокращения.
Ответ 4
Я понимаю, что OP просил стандарты на разных языках, и это не касается. Но есть/был стандарт для использования аббревиатуры Day of Week одного символа.
В дни мэйнфрейма с использованием аббревиатуры 1-го дня для Дня недели было распространено либо сохранение дня недели в поле с 1 символом (для сохранения драгоценного пространства), либо заголовок отчета для столбца с одним символом. "Стандартом" было использование MTWRFSU, где R было в четверг, и U для воскресенья.
Я не мог найти окончательных ссылок на это (именно поэтому я процитировал "стандарт", но вот несколько примеров:
http://eventguide.com/topics/one_digit_day_abbreviations.html
http://www.registrar.ucla.edu/soc/definitions.htm#Anchor-Days-3800
Ответ 5
Я думаю, что нет прямой функции java для получения первой буквы и стандартного способа ее выполнения.
Вы можете обратиться к этой ссылке, чтобы получить первую букву дня строки, используя метод substring() java
Учитывая строку в Java, просто возьмите первые буквы X