我在尝试将当前时间与从文本文件中检索的时间进行比较时遇到了一些困难。我的文本文件的时间是12小时格式,例如下午12:30。目前我有这个代码比较24小时格式的时间,我不知道如何转换它来比较12小时格式的时间:
public static final String inputFormat = "HH:mm";
private Date date;
private Date dateCompareOne;
private Date dateCompareTwo;
private String compareStringOne = "9:45";
private String compareStringTwo = "1:45";
SimpleDateFormat inputParser = new SimpleDateFormat(inputFormat, Locale.US);
private void compareDates(){
Calendar now = Calendar.getInstance();
int hour = now.get(Calendar.HOUR);
int minute = now.get(Calendar.MINUTE);
date = parseDate(hour + ":" + minute);
dateCompareOne = parseDate(compareStringOne);
dateCompareTwo = parseDate(compareStringTwo);
if ( dateCompareOne.before( date ) && dateCompareTwo.after(date)) {
//yada yada
}
}
private Date parseDate(String date) {
try {
return inputParser.parse(date);
} catch (java.text.ParseException e) {
return new Date(0);
}
}
提前致谢。
答案 0 :(得分:0)
使用h:mm a
代替HH:mm
作为输入格式。
public static final String inputFormat = "h:mm a";
h
代表上午/下午(1-12)mm
代表分钟a
代表AM或PM 另请注意,您的两个示例测试字符串缺少AM / PM标记。