Java日历格式不打印所需的输出

时间:2016-06-11 05:16:40

标签: java datetime

我的代码

    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 怎么做到这一点?

2 个答案:

答案 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