我有一个时间选择器功能,可以在 EditText 中设置时间。但它显示的格式不合适。例如 04:07pm 显示为 4:7。当时间中的数字小于 10 时,它会自动删除 0。
请帮帮我。
我的代码是
if (v == btnTimePicker1)
{
// Process to get Current Time
final Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
// Launch Time Picker Dialog
TimePickerDialog tpd = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
// Display Selected time in textbox
txtTime1.setText(hourOfDay + ":" + minute);
}
}, mHour, mMinute, false);
tpd.show();
}
只需更改该行:
txtTime1.setText(hourOfDay + ":" + minute);
to:
txtTime1.setText(String.format("%02d:%02d", hourOfDay, minute));
一切都会好起来的。
如果您想要 12 小时制而不是 24 小时制,请将该行替换为以下内容:
int hour = hourOfDay % 12;
if (hour == 0)
hour = 12;
txtTime1.setText(String.format("%02d:%02d %s", hour, minute,
hourOfDay < 12 ? "am" : "pm"));
或者你只需两行即可完成:
int hour = hourOfDay % 12;
txtTime1.setText(String.format("%02d:%02d %s", hour == 0 ? 12 : hour,
minute, hourOfDay < 12 ? "am" : "pm"));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)