2015-02-14 3 views
0

Я использую Java 7, и мне нужно отобразить временную часть объекта Java Date.Как отобразить время объекта Date на основе DateFormat.SHORT и locale?

Я заметил, что DateFormat имеет постоянную SHORT согласно the page и страница имеет следующее описание:

SHORT является полностью цифровой, такие как 12.13.52 или 3:30 вечера

Мои вопрос заключается в том, как отображать только временную часть (например, «15:30»). Вот, что у меня есть, и это показывает только часть даты (например, 2/14/15):

DateFormat f = DateFormat.getDateInstance(DateFormat.SHORT, A_Locale_object); 
SimpleDateFormat sf = (SimpleDateFormat) f; 
sf.format(new Date()); 

ответ

3

Если то, что вы хотите, чтобы отобразить это время часть, то, что НУ нужно назвать это getTimeInstance() и не getDateInstance().

Это своего рода ответ, который вы должны научиться находить самостоятельно, просто читая the javadoc:

Используйте getDateInstance, чтобы получить нормальный формат даты для этой страны. Существуют и другие статические заводские методы. Используйте getTimeInstance для получения формата времени для этой страны. Используйте getDateTimeInstance, чтобы получить формат даты и времени.

1

Так что если вы хотите, чтобы отобразить часть времени, что вы можете сделать, это предоставить формат для SimpleDatFormat и региональные настройки, как показано ниже
SimpleDateFormat sf = new SimpleDateFormat("hh:mm a", your_locale);
И форматировать его, как вы делали
sd.format(new Date()));
Если вы хотите больше материала, чтобы быть отформатирован, вы определенно можете добавить больше как "YY.MM.dd hh:mm a"
вы можете прочитать документ SimpleDateFormat для получения дополнительной информации http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

1

Используйте getTimeInstance вместо getDateInstance.

DateFormat f = DateFormat.getTimeInstance(DateFormat.SHORT,Locale.getDefault()); 
1

Time Zone

Вопрос и другие ответы пренебрегаем важный вопрос часового пояса. Если не указано, текущий часовой пояс JVM будет автоматически применен.

Joda времени

Такая работа легче с библиотекой Joda-Time.

Пример использования Joda-Time 2.7.

Перевести объект java.util.Date на объект Joda-Time DateTime. В отличие от Date, DateTime понимает свой назначенный часовой пояс. Мы хотим настроить зону Date объекта UTC в желаемую зону, такую ​​как Монреаль.

DateTimeZone zone = DateTimeZone.forID("America/Montreal") ; 
DateTime dateTime = new DateTime(yourDate, zone) ; 

Создать строковое представление этого значения даты и времени.Пара символов, переданных в forStyle, управляет полным, длинным, коротким и т. Д. Форматом части даты и временной частью. Дефис подавляет отображение этой части.

DateTimeFormatter formatter = DateTimeFormat.forStyle("-S").withLocale(Locale.CANADA_FRENCH) ; 
String output = formatter.print(dateTime) ; 
+0

Василий, спасибо за вашу информацию !!! – curious1

Смежные вопросы