【发布时间】:2013-05-13 12:46:53
【问题描述】:
假设我有两个小时之间的差异
java.text.DateFormat f = new java.text.SimpleDateFormat("HH:mm");
java.util.Date checkIn = f.parse("00:00");
java.util.Date checkOut = f.parse("05:00");
Long timeDifference = new Long(checkOut.getTime() - checkIn.getTime());
我可以通过将“timeDifference”除以 3600000(以毫秒为单位的一小时)来查看此间隔有多少小时,我得到正确的结果,5。
但是当我尝试像这样转换“timeDifference”时:
Calendar cal = new GregorianCalendar();
cal.setTime(new Date(timeDifference));
DateFormat formatter = new SimpleDateFormat("HH:mm");
formatter.format(cal.getTime());
我得到“02:00”...为什么?如何格式化“timeDifference”?
编辑: 我真的不在乎日期。我只想要小时格式的 checkIn 和 checkOut 之间的区别,例如 HH:mm。
【问题讨论】:
标签: java date calendar simpledateformat