У меня возникают проблемы при получении формата даты и времени с устройств Moto X и Nexus 5X. Ниже приведен код, который я использую.
@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 утра или вечера вместо утра или вечера.
Что создает проблему, когда я передаю это в API, так как если мы отправим это так, это вызовет проблему с преобразованием формата даты на другом мобильном телефоне, который имеет нормальный формат.
Итак, есть ли способ получить формат времени в AM, PM вместо AM или PM в вышеупомянутом устройстве?