Форматирование времени с использованием SimpleDateFormat в java

Мое требование - отображать дату на веб-странице в формате чч: мм. Но он не должен отображать ноль перед значением часа, если это однозначное число.

Например, должно отображаться как: 11:30, 9:15, 13:00.

Я пытался решить эту проблему, но единственная проблема, возникающая здесь, заключается в удалении лишнего 0 из однозначного значения часа.

Время ввода в формате - hh:mm:ss .

Значение даты изначально представляет собой строку. Прежде всего, он анализируется как дата в формате ниже:

final SimpleDateFormat dfParse = new SimpleDateFormat("HH:mm:ss");
startTimeFmt = dfParse.parse(startTime);

Затем он форматируется в следующем формате -

final SimpleDateFormat dfFormat = new SimpleDateFormat("hh:mm a");
startTime = dfFormat.format(startTimeFmt);

person BullsEye    schedule 07.11.2014    source источник
comment
Вот несколько примеров: mkyong.com/java/java-date- and-calendar-examples Попробуйте сами :)   -  person Herter    schedule 07.11.2014
comment
вы можете использовать System.out.println(new SimpleDateFormat(h:mm a).format(new Date()));   -  person Prasad Khode    schedule 07.11.2014
comment
возможный дубликат месяца без ведущих нулей в Android   -  person Basil Bourque    schedule 07.11.2014


Ответы (3)


Попробуй это:

Date date = new SimpleDateFormat("hh:mm:ss").parse("07:15:45");
String newDate = new SimpleDateFormat("h:mm a").format(date);

Это напечатает 7:15 AM

person Jonas    schedule 07.11.2014

Вы пробовали формат h:mm a?

Из документации (http://pages.cs.wisc.edu/~cs368-2/JavaTutorial/jdk1.2/api/java/text/SimpleDateFormat.html):

Examples Using the US Locale:

Format Pattern                         Result
--------------                         -------
"yyyy.MM.dd G 'at' hh:mm:ss z"    ->>  1996.07.10 AD at 15:08:56 PDT
"EEE, MMM d, ''yy"                ->>  Wed, July 10, '96
"h:mm a"                          ->>  12:08 PM
"hh 'o''clock' a, zzzz"           ->>  12 o'clock PM, Pacific Daylight Time
"K:mm a, z"                       ->>  0:00 PM, PST
"yyyyy.MMMMM.dd GGG hh:mm aaa"    ->>  1996.July.10 AD 12:08 PM

Ваше здоровье!

person Jesse Ivy    schedule 07.11.2014

Попробуй это

DateFormat formatter = new SimpleDateFormat("h:mm:ss a", Locale.US);
System.out.println(formatter.format(new Date()));
person αƞjiβ    schedule 07.11.2014