我正在尝试格式化endTime,它以分钟/小时的形式显示为AM / PM格式。问题区域似乎在早上00.00 - 1.00和下午12.00 - 1.00之间。不确定这是否是正确的方法还是有更简单的方法来实现这一目标?
public final String getEndTime() {
StringBuffer buf = new StringBuffer();
buf.append(this.getEndTimeInHrs() < 13 ? this.getEndTimeInHrs() : this
.getEndTimeInHrs() - 13).append(COLON);
// this check is needed to prefix an additional string in front of the
// minute (e.g. for 6 hrs 5 minutes, it will be displayed as 6:05)
if (this.getEndTimeInMinutes() < 10) {
buf.append(0);
}
buf.append(this.getEndTimeInMinutes());
if (getEndTimeInHrs() < 12) {
buf.append(SPACE).append(AM);
} else if (getEndTimeInHrs() > 12) {
buf.append(SPACE).append(PM);
}
return buf.toString();
}
答案 0 :(得分:3)
如何将SimpleDateFormat与h:mm a
一起使用?
E.g:
DateFormat df = new SimpleDateFormat("h:mm a");
Date date = new Date(0, 0, 0, getHours(), getMinutes());
return df.format(date);
答案 1 :(得分:0)
也许可以尝试(提供您的日期而不是new Date()
。
public final String getEndTime() {
StringBuffer buf = new StringBuffer();
new SimpleDateFormat("h:m a").format(new Date(), buf, 0);
return buf.toString();
}