Java中的本地化日期格式

Add*_*dev 4 java datetime-format

我有一个毫秒的时间戳,并希望格式化它表示日,月,年和小时的分钟精确度.

我知道我可以指定这样的格式:

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yy HH:mm");
String formatted = simpleDateFormat.format(900000)
Run Code Online (Sandbox Code Playgroud)

但我希望将格式与用户的语言环境进行本地化.我也试过了

DateFormat DATE_FORMAT = DateFormat.getDateInstance(DateFormat.SHORT, Locale.getDefault());
DATE_FORMAT.format(new Date());
Run Code Online (Sandbox Code Playgroud)

但它没有显示时间.我该怎么做?

the*_*dam 13

使用joda时间(http://joda-time.sourceforge.net/)是不可能的?如果没有,那么我会全心全意地推荐使用这个精彩的库而不是繁琐的Java API.

如果没有,你可以使用 DateFormat.getDateTimeInstance(int, int, Locale)

第一个int是小时的样式,另一个是时间的样式,所以尝试使用:

DateFormat f = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, Locale.getDefault());
String formattedDate = f.format(new Date());
System.out.println("Date: " + formattedDate);
Run Code Online (Sandbox Code Playgroud)

看看这是否适合你.

Locale.GERMANY的输出:日期:25.07.13 10:57

Locale.US的输出:日期:2013年7月25日上午10:57