Преобразование 24-часового времени в 12-часовое? - PullRequest
4 голосов
/ 10 ноября 2011

Здравствуйте, я использую приложение для Android и пытаюсь выяснить, как преобразовать 24-часовое время в 12-часовое.

Example 
24 hour format 12:18:00

to 
12 hour format 12:18pm

Ответы [ 6 ]

14 голосов
/ 10 ноября 2011

Попробуйте использовать SimpleDateFormat:

String s = "12:18:00";
DateFormat f1 = new SimpleDateFormat("HH:mm:ss"); //HH for hour of the day (0 - 23)
Date d = f1.parse(s);
DateFormat f2 = new SimpleDateFormat("h:mma");
f2.format(d).toLowerCase(); // "12:18am"
2 голосов
/ 16 марта 2018

Если вы используете Java 8 или 9, вы можете использовать java.time подобную библиотеку:

String time = "22:18:00";
String result = LocalTime.parse(time).format(DateTimeFormatter.ofPattern("h:mma"));

выход

10:18PM
0 голосов
/ 18 марта 2016
final String timein24Format = "22:10";

try {
    final SimpleDateFormat sdf = new SimpleDateFormat("H:mm");
    final Date dateObj = sdf.parse(timein24Format );
    String timein12Format=new SimpleDateFormat("K:mm a").format(dateObj));
} catch (final ParseException e) {
    e.printStackTrace();
}
0 голосов
/ 25 июня 2013

Используйте SimpleDateFormat, но обратите внимание, что ЧЧ отличается от чч.

Скажем, у нас есть время 18: 20

В приведенном ниже формате будет возвращаться 18:20 PM

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm aa");

Хотя этот формат вернется в 18:20

SimpleDateFormat sdf = new SimpleDateFormat("hh:mm aa");

Надеюсь, это поможет ...

0 голосов
/ 10 декабря 2012

попробуйте этот код

     String s= time ;

     DateFormat f1 = new SimpleDateFormat("kk:mm");
     Date d = null;
        try {
             d = f1.parse(s);
             DateFormat f2 = new SimpleDateFormat("h:mma");
             time = f2.format(d).toUpperCase(); // "12:18am"

    } catch (ParseException e) {

        // TODO Auto-generated catch block
            e.printStackTrace();
        }
0 голосов
/ 10 ноября 2011

Скорее всего, вам нужно взглянуть на Java SimpleDateFormat .

Чтобы отобразить данные в нужном вам формате, вы должны использовать что-то вроде этого:

   SimpleDateFormat sdf=new SimpleDateFormat("h:mm a");
   sdf.format(dateObject);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...