2012-12-02 124 views
1

obj.date是Unix时间戳(长)。我检查的日期是正确的,但我不能设法得到我的两个日期对象之间分钟的差别。例如,当我预计接近30时,我得到4。为什么?分钟日期之间2

Date now = new Date(); 
Date then = new Date((long)obj.date*1000); 

int secondsbetweendates = (int) ((then.getTime()-now.getTime())/1000); 

int minutesbetweendates = (secondsbetweendates/1000) % 60; 
+0

不应该是'int minutesbetweendates = secondsbetweendates%60;'? –

+0

你正在使用模数,你应该分开...... –

回答

3

要秒转换为可以除以60分钟:

int minutesbetweendates = secondsbetweendates/60; 

注意它返回一个整数,截断的结果,也就是说,只有完整分钟就会被计算在内。换句话说,119秒将变成1分钟,而不是2.

您还应该意识到,如果时间差超过一个小时,它也可以返回大于60的数字。