在java中如何在不同的语言环境中显示日期(例如俄语)。
答案 0 :(得分:14)
类似的东西:
Locale locale = new Locale("ru","RU");
DateFormat full = DateFormat.getDateInstance(DateFormat.LONG, locale);
out.println(full.format(new Date()));
应该做的伎俩。但是,存在Russian Date formatting in jdk1.5
的问题与俄语的交易是月份名称在单独出现时(即在列表或其他内容中)具有不同的后缀,而当它们是格式化日期的一部分时则是另一个。因此,即使March是俄语中的“Март”,今天正确格式化的日期将是:“7Марта2007г。”
让我们看看JDK如何格式化今天的日期:7月Март2007г。显然是错的。
答案 1 :(得分:5)
使用带有区域设置的SimpleDateFormat构造函数。您需要首先检查JDK是否支持您要查找的语言环境,如果没有,则需要实现它。
答案 2 :(得分:4)
使用java.text.DateFormat类,您可以构造配置为特定区域设置的类。
DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM, theLocaleYouWant);
String text = format.format(new Date());
System.out.println(text);
答案 3 :(得分:3)
DateFormat课程可以帮到你。正如Javadoc中所解释的那样:
格式化其他日期 区域设置,在调用中指定它 getDateInstance()。
DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);
所以你只需要使用适当的Locale来调整这段代码。
答案 4 :(得分:0)
使用带有适当时区和区域设置的java.util.Calendar。