我计划将当前时间增加一个小时,我将其转换为12小时格式。只是不确定如何去做。我想保持分钟数不变,只想增加一个小时,比如说时间是11:59 am->我想显示12:59 pm,或者如果时间是5:20,我想显示6:20等等。 到目前为止,这是我的代码:
if (mDate.get(Calendar.AM_PM) == Calendar.AM)
am_pm = "AM";
else if (mDate.get(Calendar.AM_PM) == Calendar.PM)
am_pm = "PM";
String strHrsToShow = (mDate.get(Calendar.HOUR) == 0) ? "12" : mDate.get(Calendar.HOUR) + "";
String strMinsToShow = (mDate.get(Calendar.MINUTE)) < 10 ? "0" + mDate.get(Calendar.MINUTE) : "" + mDate.get(Calendar.MINUTE);
mRegisterGuestStartTime.setText(String.format("%s:%s %s", strHrsToShow, strMinsToShow, am_pm));
任何想法如何解决?预先感谢!
答案 0 :(得分:1)
mDate
是我假设的Calendar
对象。如果是,为什么不使用Calendar.add(Calendar.HOUR, 1)
?以字符串操作方式执行此操作会丢失日期/时间值的精度。之后,您可以使用SimpleDateFormat
来格式化日历
// add an hour to the date
mDate.add(Calendar.HOUR, 1);
// prepare datetime formatter, sample output: "11:35 AM"
SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm a");
mRegisterGuestStartTime.setText(timeFormat.format(mDate.getTime()));