日期:2014-05-18  浏览次数:20969 次

java获取时间段内的工作时长
工作时间为每天的9点-17点,即只是在9点和17点之间的时间为工作时,

假设有startDate和endDate,startDate>endDate 

计算出startDate和endDate这段时间内的工作时长。

求各位大神帮帮忙

------解决方案--------------------
public long java.util.Date.getTime()
两个时间差就得到了工作时长
------解决方案--------------------
引用:
Quote: 引用:

public long java.util.Date.getTime()
两个时间差就得到了工作时长


endDate.getTime()-startDate.getTime() 只是得到这个时间段的时长。
我的意思是想得到这个时间段内的工作时长
比如startDate为当天7点,endDate为当天10点,那么就应该是1个工作时的时长,因为工作时是从每天的9点开始算起,9点之前的不算工作时长

那可以直接设置开始时间为当天九点,再用结束时间减。就是设置格式要注意,这是我的思路
------解决方案--------------------
建议先做判断,获取startDate和endDate是否在9-17点之间,如果在,用getTime()的差值来获取中间时长
------解决方案--------------------
不就一个判断的事吗?先判断startDate是否是当天的9:00am 之前,
如果是的,那就用endDate减去9
否则就减去startDate