国际化Java

发布于 2024-10-27 04:44:36 字数 245 浏览 5 评论 0原文

有没有办法覆盖国际化的默认值?

例如,如果我获得 EEEE 格式的日期,它将给我星期日,但我想要类似Sunnyday 的内容。

"EEEE, dd MMM, yyyy" 给我 2011 年 3 月 27 日星期日

我想要 "EEEE, dd MMM, yyyy" 给我 2011 年 3 月 27 日星期日

Is there way to overwrite the default values for internationalization?

Example if I get the date in EEEE format it will give me Sunday but I want something like Sunnyday.

"EEEE, dd MMM, yyyy" gives me Sunday, 27 Mar, 2011

i want "EEEE, dd MMM, yyyy" give me Sunnyday, 27 Mar, 2011

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

氛圍 2024-11-03 04:44:36

DateFormat 使用的字符串由 DateFormatSymbols 类的对象定义,该类具有 setXXX 方法。所以你可以试试这个:

 DateFormatSymbols englishSymbols = DateFormatSymbols.getInstance(Locale.ENGLISH);
 DateFormatSymbols mySymbols = (DateFormatSymbols)englishSymbols.clone();
 String[] weekdays = mySymbols.getWeekdays();
 weekdays[Calendar.SUNDAY] = "Sunnyday";
 mySymbols.setWeekdays(weekdays);
 DateFormat f = new SimpleDateFormat("EEEE, dd MMM, yyyy", mySymbols);

 System.out.println(f.format(new Date()));

它向我显示:Sunnyday, 27 Mar, 2011

The strings used by DateFormat are defined by an object of class DateFormatSymbols, which has setXXX methods. So you could try this:

 DateFormatSymbols englishSymbols = DateFormatSymbols.getInstance(Locale.ENGLISH);
 DateFormatSymbols mySymbols = (DateFormatSymbols)englishSymbols.clone();
 String[] weekdays = mySymbols.getWeekdays();
 weekdays[Calendar.SUNDAY] = "Sunnyday";
 mySymbols.setWeekdays(weekdays);
 DateFormat f = new SimpleDateFormat("EEEE, dd MMM, yyyy", mySymbols);

 System.out.println(f.format(new Date()));

It shows for me: Sunnyday, 27 Mar, 2011.

不美如何 2024-11-03 04:44:36

您必须设置区域设置,这是法国的示例:

Locale frLocale = new Locale("fr", "FR");
SimpleDateFormat formatter = new SimpleDateFormat("EEE d MMM yy", frLocale);
Date today = new Date();
String output = formatter.format(today);
System.out.println(output);

输出:
dimanche 27 mars 11

或者如果你想有自己的名字:

String[] monthNames = {"cold January", "warm February" ...};     
Calendar cal = Calendar.getInstance();
String month = monthName[cal.get(Calendar.MONTH)];     
System.out.println("Month name: " + month);

You must set locale, this is example for France:

Locale frLocale = new Locale("fr", "FR");
SimpleDateFormat formatter = new SimpleDateFormat("EEE d MMM yy", frLocale);
Date today = new Date();
String output = formatter.format(today);
System.out.println(output);

Output:
dimanche 27 mars 11

Or if you want have own names:

String[] monthNames = {"cold January", "warm February" ...};     
Calendar cal = Calendar.getInstance();
String month = monthName[cal.get(Calendar.MONTH)];     
System.out.println("Month name: " + month);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文