Как я могу изменить дату с 24-часового формата на 12-часовой формат (утра / вечера) в Android - PullRequest
1 голос
/ 02 марта 2012
Calendar ci = Calendar.getInstance();

CiDateTime = "" + (ci.get(Calendar.MONTH) + 1) +  
    "/" + ci.get(Calendar.DAY_OF_MONTH) + 
    "/" + ci.get(Calendar.YEAR);

String visitdatetime = CiDateTime + "" + 
          ci.get(Calendar.HOUR_OF_DAY) + ":" + 
          ci.get(Calendar.MINUTE) + ":" + 
          ci.get(Calendar.SECOND);

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy  hh:mm  a");

Я получаю с сервера в 24-часовом формате. Но я хочу показать дату в формате ММ / дд / гггг чч: мм AM / PM в формате 12 часов.

Ответы [ 7 ]

9 голосов
/ 02 марта 2012

Вы пробовали это?

SimpleDateFormat dateFromat= new SimpleDateFormat("MM/dd/yyyy  hh:mm  aa");
Date today = new Date();
String todayStr = dateFromat.format(today);
5 голосов
/ 02 марта 2012

Ниже функция может быть полезна для вас.Это преобразует время от 24 часов до 12 часов

public static String Convert24to12(String time)
{
    String convertedTime ="";
    try {
        SimpleDateFormat displayFormat = new SimpleDateFormat("hh:mm a");
        SimpleDateFormat parseFormat = new SimpleDateFormat("HH:mm:ss");
        Date date = parseFormat.parse(time);        
        convertedTime=displayFormat.format(date);
        System.out.println("convertedTime : "+convertedTime);
    } catch (final ParseException e) {
        e.printStackTrace();
    }
    return convertedTime;
    //Output will be 10:23 PM
}
2 голосов
/ 02 марта 2012
public static final String TIME_FORMAT = "hh:mm aa";
SimpleDateFormat TimeFormat = new SimpleDateFormat(TIME_FORMAT);

Calendar ATime = Calendar.getInstance();
String Timein12hourFormat = TimeFormat.format(ATime.getTime());
1 голос
/ 20 ноября 2015

Попробуйте с этим ответом это самый короткий и лучший ответ в стеке.

 Calendar c = Calendar.getInstance();
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss aa");
 Datetime = sdf.format(c.getTime());
 System.out.println("============="+Datetime);

Результат: - ======== 2015-11-20 05:52:25 PM

0 голосов
/ 29 мая 2015

hh:mm a

Добавление 'a' должно помочь при отображении am / pm

В angular я использую angular-bootsrap-datetimepicker и для отображения выбранной датыраз я использую этот синтаксис

data-ng-model="event.start | date:'dd-MM-yyyy hh:mm a'"

0 голосов
/ 17 января 2014

Вот ответ, чтобы получить данные в формате США / английский в формате даты / времени, используя 12-часовые часы.

DateTime.Now.ToString("MM/d/yyyy hh:mm:ss tt");
01/16/2014 03:53:57 PM
0 голосов
/ 02 марта 2012

использовать ниже формат до 12 часов с утра / вечера

ММ / дд / гггг ЧЧ: мм: сс

...