在java中获取日期的星期的一个字母缩写

2022-09-02 21:20:02

据我所知,在Java中,我可以在正常(星期五)或短模式(星期五)获得工作日。但是,有没有办法只获得第一个字母?

我以为我可以使用“子字符串”获得第一个字母,但对于所有语言来说都是正确的。例如,西班牙语工作日是: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)+""; 
}