В Android Date Time Format отображается неправильное время для отображения 12 часов и 24 часов - PullRequest
0 голосов
/ 13 декабря 2011

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

Мой ответ на строку даты = "2011-12-12T19: 41: 15.17Z"

Код

private static final SimpleDateFormat dateFormatToolTipResponse = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");

private SimpleDateFormat cunsultationPostTimezone12 = new SimpleDateFormat("MM/dd/yy hh:mm a z");
private SimpleDateFormat cunsultationPostTimezone24 = new SimpleDateFormat("MM/dd/yy HH:MM z");


public String formateDateTimeConsultation(String dateTime)
    {
        StringBuffer strResult = new StringBuffer();
        strResult.append(getPostTimecunsultation(parseDate(dateTime)));
        return strResult.toString();
    }
private static Date parseDate(String date)
        {
        try {
            return dateFormatToolTipResponse.parse(date);

        } catch ( Exception e ){
            return null;
        }
    }
private  String getPostTimecunsultation(Date date)
         {

        if(date != null){           
            if(ConstantCodes.is24Hours)
                        {       

                return cunsultationPostTimezone24.format(date);
            }
            else
                        {               
                    return cunsultationPostTimezone12.format(date);
            }
        }
        return "";
    }

============================================== Вот мой вывод

24 hours = 12/12/11 11:12 PST
12 hours = 12/12/11 11:42 AM PST

Я не мог найти, что не так в этом.Пожалуйста, вы можете предложить несколько идей?

1 Ответ

4 голосов
/ 13 декабря 2011

вы устанавливаете ММ во времени в 24 формате

private SimpleDateFormat cunsultationPostTimezone24 = new SimpleDateFormat("MM/dd/yy HH:MM z");

, поэтому вы всегда получаете значение месяца Caps M даст вам значение месяца, в то время как маленькое m для изменения минуты с помощью этой строки ниже, а затем попробуйте

private SimpleDateFormat cunsultationPostTimezone24 = new SimpleDateFormat("MM/dd/yy HH:mm z");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...