From cee342dfce073f061e38994ba18444d0ce383441 Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@nibio.no> Date: Wed, 29 Aug 2018 11:56:58 +0200 Subject: [PATCH] Added a couple of new methods --- .../java/no/nibio/vips/util/DateUtil.java | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/src/main/java/no/nibio/vips/util/DateUtil.java b/src/main/java/no/nibio/vips/util/DateUtil.java index 68479be..c3d0a08 100644 --- a/src/main/java/no/nibio/vips/util/DateUtil.java +++ b/src/main/java/no/nibio/vips/util/DateUtil.java @@ -23,7 +23,7 @@ import java.util.Calendar; import java.util.Date; /** - * @copyright 2017 <a href="http://www.nibio.no/">NIBIO</a> + * @copyright 2018 <a href="http://www.nibio.no/">NIBIO</a> * @author Tor-Einar Skog <tor-einar.skog@nibio.no> */ public class DateUtil { @@ -59,4 +59,40 @@ public class DateUtil { retVal += toDOY; return retVal; } + + public Date getClosestFutureWholeHour(Date timeStamp) + { + Calendar cal = Calendar.getInstance(); + cal.setTime(timeStamp); + + // If we're already at whole hour, change nothing + if(cal.get(Calendar.MINUTE) == 0 && cal.get(Calendar.SECOND) == 0 && cal.get(Calendar.MILLISECOND) == 0) + { + return timeStamp; + } + + cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) + 1); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + cal.set(Calendar.MILLISECOND, 0); + return cal.getTime(); + } + + public Date getClosestPastWholeHour(Date timeStamp) + { + Calendar cal = Calendar.getInstance(); + cal.setTime(timeStamp); + + // If we're already at whole hour, change nothing + if(cal.get(Calendar.MINUTE) == 0 && cal.get(Calendar.SECOND) == 0 && cal.get(Calendar.MILLISECOND) == 0) + { + return timeStamp; + } + + cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + cal.set(Calendar.MILLISECOND, 0); + return cal.getTime(); + } } -- GitLab