Reputation: 715
I have create simple TimePickerDialog they are perfectly work but if i have set current time in time picker then problem to set AM and PM.
let see....
If Current time is : 5:39 PM
this is my code..
Calendar cal = Calendar.getInstance();
int mHour = cal.get(Calendar.HOUR_OF_DAY);
int mMinute = cal.get(Calendar.MINUTE);
int mTimeSet=cal.get(Calendar.AM_PM);
TimePickerDialog tpd = new TimePickerDialog(this,new TimePickerDialog.OnTimeSetListener()
{
@Override
public void onTimeSet(TimePicker view, int hours,int minute)
{
String timeSet = "";
if (hours > 12) {
hours -= 12;
timeSet = "PM";
} else if (hours == 0) {
hours += 12;
timeSet = "AM";
} else if (hours == 12)
timeSet = "PM";
else
timeSet = "AM";
String minutes="";
if (minute < 10)
minutes = "0" + minute;
else
minutes = String.valueOf(minute);
textView.setText(hours + ":" + minutes + " " + timeSet);
}
}, mHour, mMinute,false);
tpd.show();
Result
But how to set PM in time picker dialog? please any solution
Upvotes: 0
Views: 2654
Reputation: 505
private void updateTime(int hours, int mins) {
String timeSet = "";
if (hours > 12) {
timeSet = "PM";
hours -= 12;
} else if (hours == 0) {
timeSet = "AM";
hours += 12;
} else if (hours == 12)
timeSet = "PM";
else
timeSet = "AM";
String minutes = "";
if (mins < 10)
minutes = "0" + mins;
else
minutes = String.valueOf(mins);
// Append in a StringBuilder
String aTime = new StringBuilder().append(hours).append(':')
.append(minutes).append(" ").append(timeSet).toString();
output.setText(aTime);
}
Upvotes: 1
Reputation: 3322
try like this,
public void onTimeSet(TimePicker view, int hourOfDay, int minute)
{
Calendar date = Calendar.getInstance();
date.set(Calendar.HOUR_OF_DAY, hourOfDay);
date.set(Calendar.MINUTE, minute);
date.set(Calendar.AM_PM, date.get(Calendar.AM_PM));
textView.setText(date.getTime());
}
Upvotes: 1
Reputation: 3339
public void onTimeSet(TimePicker view, int hourOfDay, int minute)
{
String am_pm = "";
Calendar datetime = Calendar.getInstance();
datetime.set(Calendar.HOUR_OF_DAY, hourOfDay);
datetime.set(Calendar.MINUTE, minute);
if (datetime.get(Calendar.AM_PM) == Calendar.AM)
am_pm = "AM";
else if (datetime.get(Calendar.AM_PM) == Calendar.PM)
am_pm = "PM";
String strHrsToShow = (datetime.get(Calendar.HOUR) == 0) ?"12":datetime.get(Calendar.HOUR)+"";
((Button)getActivity().findViewById(R.id.btnEventStartTime)).setText(
strHrsToShow+":"+datetime.get(Calendar.MINUTE)+" "+am_pm );
}
Upvotes: 2