如何获取本地化的短星期名称(Mo/Tu/We/Th...)
我可以在 Java 中获得本地化的短星期名称(英语为 Mo/Tu/We/Th/Fr/Sa/Su)吗?
Can I get localized short day-in-week name (Mo/Tu/We/Th/Fr/Sa/Su for English) in Java?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
最好的方法是使用 java.text.DateFormatSymbols
The best way is with java.text.DateFormatSymbols
如果标准缩写适合您,只需使用 Calendar 类,如下所示:
If standard abbreviations are fine with you, just use Calendar class like this:
使用 SimpleDateFormat 的示例:
SimpleDateFormat 比 C 风格的 String.format 和 System.out.printf 存在的时间更长,我认为您会发现大多数 Java 开发人员会更熟悉它并且在现有代码库中使用得更多,所以我推荐这种方法。
An example using SimpleDateFormat:
SimpleDateFormat as been around longer than the C-style String.format and System.out.printf, and I think you'd find most Java developers would be more familiar with it and more in use in existing codebases, so I'd recommend that approach.
java.time
针对使用 Java 8 及更高版本的用户的更新。
显示输出。
运行时。查看在 IdeOne.com 上实时运行的类似代码。
java.time
Update for those using Java 8 and later.
Show output.
When run. See similar code run live at IdeOne.com.
DateTimeFormatter#localizedBy
从 Java SE 10 开始,您可以使用
DateTimeFormatter#localizedBy
。演示:
输出:
或者,从 Java SE 8 开始,您可以使用
DayOfWeek#getDisplayName
与适用的区域设置
。输出:
DateTimeFormatter#localizedBy
Starting with Java SE 10, you can use
DateTimeFormatter#localizedBy
.Demo:
Output:
Alternatively, starting with Java SE 8, you can use
DayOfWeek#getDisplayName
with the applicableLocale
.Output:
您不能使用 Calendar 类来执行此操作(除非您自己编写),但可以使用 Date 类来执行此操作。 (两者通常同时使用)。
这是一个例子:
输出:
You can't do it with the Calendar class (unless you write your own), but you can with the Date class. (The two are usually used hand-in-hand).
Here's an example:
Output:
您可以使用它:
结果将是:星期一
You can use this :
The result will be: Monday