日期在Java中的不同语言环境中显示?

时间:2009-01-29 06:39:43

标签: java

在java中如何在不同的语言环境中显示日期(例如俄语)。

5 个答案:

答案 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。