Reputation: 165
I have a timepicker which is working fine. But it is in 24 hour format. I want it to be in 12 hour format. I can't find a possible solution. My current code snippet is:
Calendar mcurrentTime = Calendar.getInstance();
final int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(AddJob.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
////
}
}, hour, minute, true);
mTimePicker.setTitle("Select Time");
mTimePicker.show();
Thanks in advance.
Edit: I am able to check the meridian after the date selection. But I want the user to select the meridian.
Update: How can an android question be duplicate of a javascript question? Someone left a negative vote on that..!
Upvotes: 0
Views: 3398
Reputation: 4650
Change your TimePickerDialog
call:
Your code is:
mTimePicker = new TimePickerDialog(AddJob.this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker,
int selectedHour, int selectedMinute) {
////
}
}, hour, minute, true);
Change your last parameter from true to false
since TimePickerDialog
constructor syntax is:
TimePickerDialog(Context context,
TimePickerDialog.OnTimeSetListener listener,
int hourOfDay,
int minute,
boolean is24HourView)
Note: last parameter is boolean is24HourView So change it to false and your problem will be solved
For more details, view TimePickerDialog Documentation
Hope it helps!!!
Upvotes: 5
Reputation: 6622
you have to do like below try this.
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
hour = hourOfDay;
minutes = minute;
String timeSet = "";
if (hour > 12) {
hour -= 12;
timeSet = "PM";
} else if (hour == 0) {
hour += 12;
timeSet = "AM";
} else if (hour == 12){
timeSet = "PM";
}else{
timeSet = "AM";
}
String min = "";
if (minutes < 10)
min = "0" + minutes ;
else
min = String.valueOf(minutes);
String aTime = new StringBuilder().append(hour).append(':')
.append(min ).append(" ").append(timeSet).toString();
et1.setText(aTime);
}
};
Upvotes: 1
Reputation: 679
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
hour = hourOfDay;
minutes = minute;
String timeSet = "";
if (hour > 12) {
hour -= 12;
timeSet = "PM";
} else if (hour == 0) {
hour += 12;
timeSet = "AM";
} else if (hour == 12){
timeSet = "PM";
}else{
timeSet = "AM";
}
String min = "";
if (minutes < 10)
min = "0" + minutes ;
else
min = String.valueOf(minutes);
String mTime = new StringBuilder().append(hour).append(':')
.append(min ).append(" ").append(timeSet).toString();
}
};
Upvotes: 3