I am using below code for getting time from user. Everything is working fine except if user select 15 in 24 hours format view, final output comes at 3 AM, and vice versa. I read many blogs but did not get clear solution to sort. Can someone help. Here is the code:
final TimePickerDialog.OnTimeSetListener tf = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
calendar.set(Calendar.HOUR, i);
calendar.set(Calendar.MINUTE, i1);
String myFormat = "hh:mm a"; //In which you need put here
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
timefrom.setText(sdf.format(calendar.getTime()));
}
};
Here is the code when time is set on click:
timefrom.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new TimePickerDialog(HireActivity.this, tf,
calendar.get(Calendar.HOUR), calendar.get(Calendar.MINUTE), true).show();
}
});
I tried with 122 Hours view format too and here also if user select 5 AM, final output comes as 6 PM and vice versa.
use HOUR_OF_DAY
new TimePickerDialog(HireActivity.this, tf,
calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true).show();