0
我在Groovy中创建了一个csv,需要准备一些持续时间。我正在为该任务使用TimeDuration。Groovy:Timeduration-Subtraction
Date start = Date.parse('dd.MM.yyyy hh:mm', 04.03.2016 14:30)
Date end = Date.parse('dd.MM.yyyy hh:mm', 04.03.2016 23:30)
TimeDuration duration = TimeCategory.minus(end, start);
entry << "${duration.hours}:${duration.minutes}";
一切都很好。现在我创建暂停时间:
TimeDuration pause;
if(duration.hours >=6 && duration.hours < 8){
pause = new TimeDuration(0, 0, 30, 0, 0) ;
} else if (duration.hours >= 8) {
pause = new TimeDuration(0, 0, 45, 0, 0) ;
} else {
pause = new TimeDuration(0, 0, 0, 0, 0) ;
}
entry << "${pause.hours}:${pause.minutes}";
entry << ";";
目前一切都很好。现在我减去停顿得到真正的工作时间:
// subtract pause from duration
TimeDuration workTime= duration.minus(pause);
entry << "${workTime.hours}:${workTime.minutes}";
entry << ";";
因为我有一个9小时00分钟持续时间的情况下,我得到的9小时-45分钟
println entry; // 9:00;0:45;9:-45
一个工作时间我想要的是8点15分的工作时间。
有没有人提示?
感谢您的快速答复。我这样做,现在得到积极的分钟,但仍然是错误的时间: println条目; // 9:00; 0:45; 9:15 – Tammo
不知道为什么,我已经抄袭了你的例子,最后得到“08:15:00”。请参阅https://groovyconsole.appspot.com/script/5186766520713216 –
嗨Jeremie。你是对的。看来我的IDE有问题。我将我的代码复制到我的IDE中,并再次获得我的答案的结果。我会及时更新问题所在。 – Tammo