在java中获取日期的星期几的一个字母缩写
Posted
技术标签:
【中文标题】在java中获取日期的星期几的一个字母缩写【英文标题】:Get one letter abbreviation of week day of a date in java 【发布时间】:2013-06-02 07:24:28 【问题描述】:据我所知,在 Java 中,我可以在正常(星期五)或短模式(星期五)下获得工作日。但是,有没有办法只获取第一个字母?
我认为我可以使用“子字符串”来获取第一个字母,但它并不适用于所有语言。例如,西班牙的工作日是:Lunes、Martes、Miércoles、Jueves、Viernes、Sábado 和 Domingo,“Miércoles”的第一个字母是 X 而不是 M,以区别于“Martes”。
【问题讨论】:
嗯,法语和意大利语都有同样的问题,但我从未见过这两种语言中使用过单字母缩写。哎呀,连English都有这个问题。 【参考方案1】:在 android 中,您可以将 SimpleDateFormat 与“EEEEE”一起使用。在下一个示例中您可以看到它。
SimpleDateFormat formatLetterDay = new SimpleDateFormat("EEEEE",Locale.getDefault());
String letter = formatLetterDay.format(new Date());
【讨论】:
这在 API 16 上不起作用,它返回全天名称。在 API 18 及更高版本中似乎工作正常。 对于 API 16 或更早版本,DateUtils.getDayOfWeekString(dayOfWeek, DateUtils.LENGTH_SHORTEST)
这里怎么不写:developer.android.com/reference/java/text/SimpleDateFormat.html?【参考方案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】:没有标准的 Java API 支持这样做。
部分原因是许多(甚至可能是大多数)语言没有传统的唯一单字母工作日缩写。例如,在英语中没有 (M T W T F S S)。
在许多/大多数语言环境中不起作用的(假设的)格式选项1将成为国际化的障碍,而不是帮助。
1 - 我的意思是人类意义上的。你可以发明一个约定,但人们不会理解缩写的含义。
【讨论】:
【参考方案4】:我意识到 OP 要求跨语言制定标准,但这并没有解决这个问题。但是有/曾经有一个使用单字符星期几缩写的标准。
在大型机时代,使用 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方法获取字符串day的首字母
Given a string in Java, just take the first X letters
【讨论】:
我不知道第一个字母是否对所有语言都是正确的,因为所描述的问题。 我想您可以根据语言进行自己的映射,即。 Miércoles" 是 X ,而不是 X 显示 M 。但是如果你想支持大量的语言,这将是不可行的。它 我想支持所有语言:)以上是关于在java中获取日期的星期几的一个字母缩写的主要内容,如果未能解决你的问题,请参考以下文章
pandas通过DatetimeProperties对象获取日期对象在所在周的周几星期几的名称信息(week name)并生成新的数据列计算不同星期名称下其它数据列的均值
pandas使用to_datetime函数将字符串时间数据列转化为时间对象数据列通过DatetimeProperties对象获取日期对象在所在周的周几星期几的名称信息(week name)