我的代码
String strtime="15:30";
Duration="60";
DateFormat formatter = new SimpleDateFormat("hh:mm");
Date date = formatter.parse(strtime);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.HOUR_OF_DAY, Integer.parseInt(duration));
String endTime = formatter.format(cal.getTime());
如果我的时间是12小时格式,上面的代码会添加分钟并打印正确的o / p。但是当它以24小时格式出现时,它给了我错误的o / p 例如,如果我给strtime = 15:30它给我o / p为4:30,我需要它在16:30 怎么做到这一点?
答案 0 :(得分:4)
使用大写'H'获得24小时格式:
DateFormat formatter = new SimpleDateFormat("HH:mm");
参见Javadoc: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
答案 1 :(得分:1)
根据docs,您应该将该字母大写以获得不同的结果:
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12