【发布时间】:2015-05-15 10:36:45
【问题描述】:
我试图在两个小时之间获得差异,如下所示
String time1 = "05:00 AM";
String time2 = "06:20 AM";
String format = "HH:mm aa";
SimpleDateFormat sdf = new SimpleDateFormat ( format );
Date dateObj1 = null;
Date dateObj2 = null;
try {
dateObj1 = sdf.parse ( time1 );
dateObj2 = sdf.parse ( time2 );
} catch ( ParseException e ) {
e.printStackTrace ( );
}
long diff = dateObj2.getTime ( ) - dateObj1.getTime ( );
double diffInHours = diff / ( ( double ) 1000 * 60 * 60 );
double diffInMins = ( diffInHours + ( int ) diffInHours ) * 60;
转储到控制台。
System.out.println ( "diff: " + diff );
System.out.println ( "diffInHours: " + diffInHours );
System.out.println ( "diffInMins " + diffInMins );
运行时。
diffInHours 1.3333333333333333
Minutes 139.99999999999997
我想以分钟为单位计算两次之间的时间,就像在上述情况下我应该得到 80 分钟,但它给出了一些其他值。
有人能帮我在两次之间获得分钟吗?
【问题讨论】:
-
如果您得到
diff(毫秒) 并将其除以 1000,您将获得秒,然后将它们除以 60,您将获得分钟。反正80分钟就是4800000毫秒,试试打印diff看看是否匹配。
标签: java date time date-format