我正在计算时差并从差异时间减去休息
我无法从时差中减去休息时间。
long hoursDifference,mindifference;
d1 = df.parse(strattime);
d2 = df.parse(endtime);
d3= df1.parse(textbreaktime);
hoursDifference = (long) (d3.getTime()-((d2.getTime() - d1.getTime()))
/ (60 * 60 * 1000) % 24);
mindifference = (long) ((d3.getTime()-(d2.getTime()) - d1.getTime())
/ (60 * 1000) % 60);
谢谢
答案 0 :(得分:1)
你的问题是两个错误的括号,正确它应该是这样的
long hoursDifference,mindifference;
d1 = df.parse(strattime);
d2 = df.parse(endtime);
d3= df1.parse(textbreaktime);
hoursDifference = (long) (((d2.getTime() - d1.getTime()) - d3.getTime())
/ (60 * 60 * 1000)) % 24;
mindifference = (long) (((d2.getTime() - d1.getTime()) - d3.getTime())
/ (60 * 1000)) % 60;
但是如果你使用像
这样的Date函数会更容易(并且更易读)Date result = new Date((d2.getTime() - d1.getTime()) - d3.getTime());
int hours = result.getHours();
int minutes = result.getMinutes();
编辑:
那是你想要的吗?
d1 = 2:00
d2 = 2:30
d3 = 0:05
结果=(2:30 - 2:00) - 0:05 = 0:25