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