Я получаю проблему при получении формата даты времени с устройств Moto X и Nexus 5X. Ниже приведен код, который я использую.Проблема с форматом времени в формате Android - его приближение как A.M/P.M
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
SimpleDateFormat mSDF = null;
final String format = Settings.System.getString(fragment.getActivity()
.getContentResolver(), Settings.System.TIME_12_24);
boolean is24HourFormat = android.text.format.DateFormat
.is24HourFormat(getActivity());
mSDF = new SimpleDateFormat("hh:mm a", Locale.ENGLISH);
System.out.println("Time Format:" + format);
Calendar mCalendar = Calendar.getInstance();
mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
mCalendar.set(Calendar.MINUTE, minute);
String selectedTime = mSDF.format(mCalendar.getTime());
fragment.onTimeSelected(selectedTime, inputField);
}
В выбранное время Я получаю формат времени, например, 10:40 A.M или P.M вместо AM или PM.
Что делает проблему, когда я передаю это API, Как будто мы отправляем как это, это вызовет проблему в форме преобразования даты на другом мобильном телефоне, который имеет нормальный формат.
Итак, есть ли способ получить Timeformat в AM, PM вместо A.M или P.M в вышеупомянутом устройстве?
просто замените (".", "") На строку времени –
Вам это удалось? У меня такая же проблема, но это происходит только на Nexus 5X –
@Vincent_Paing, да, мы разрешили ее, следуя. Пожалуйста, сделайте это, замените, с пустым fragment.onTimeSelected (selectedTime.replace ("\\.", ""), InputField); SimpleDateFormat dateFormat = new SimpleDateFormat ( "yyyy-MM-dd HH: mm: ss", Locale.ENGLISH); – Lakshmanan