truncate (almost) all datetimes to minutes for more precise calculation
This commit is contained in:
		@@ -77,7 +77,7 @@ public class LoadingBar {
 | 
				
			|||||||
      var br = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
 | 
					      var br = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
 | 
				
			||||||
      System.out.print("Ankunftszeit: ");
 | 
					      System.out.print("Ankunftszeit: ");
 | 
				
			||||||
      String startTimeRaw = br.readLine();
 | 
					      String startTimeRaw = br.readLine();
 | 
				
			||||||
      var startTime = LocalTime.parse(startTimeRaw, TIME_FORMATTER);
 | 
					      var startTime = LocalTime.parse(startTimeRaw, TIME_FORMATTER).truncatedTo(ChronoUnit.MINUTES);
 | 
				
			||||||
      handleMittagspause(br, startTime);
 | 
					      handleMittagspause(br, startTime);
 | 
				
			||||||
      handleZapfenstreich(br, startTime);
 | 
					      handleZapfenstreich(br, startTime);
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
@@ -95,7 +95,7 @@ public class LoadingBar {
 | 
				
			|||||||
      System.out.print("Mittagspause um (optional): ");
 | 
					      System.out.print("Mittagspause um (optional): ");
 | 
				
			||||||
      String manualMittagspauseRaw = br.readLine();
 | 
					      String manualMittagspauseRaw = br.readLine();
 | 
				
			||||||
      if (manualMittagspauseRaw != null && !manualMittagspauseRaw.isBlank()) {
 | 
					      if (manualMittagspauseRaw != null && !manualMittagspauseRaw.isBlank()) {
 | 
				
			||||||
         var manualMittagspause = LocalTime.parse(manualMittagspauseRaw, TIME_FORMATTER);
 | 
					         var manualMittagspause = LocalTime.parse(manualMittagspauseRaw, TIME_FORMATTER).truncatedTo(ChronoUnit.MINUTES);
 | 
				
			||||||
         showLoadingBarMittagspause(startTime, manualMittagspause);
 | 
					         showLoadingBarMittagspause(startTime, manualMittagspause);
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
         showLoadingBarMittagspause(startTime);
 | 
					         showLoadingBarMittagspause(startTime);
 | 
				
			||||||
@@ -122,7 +122,7 @@ public class LoadingBar {
 | 
				
			|||||||
      String manualZapfenstreichRaw = br.readLine();
 | 
					      String manualZapfenstreichRaw = br.readLine();
 | 
				
			||||||
      LocalTime manualZapfenstreich = null;
 | 
					      LocalTime manualZapfenstreich = null;
 | 
				
			||||||
      if (manualZapfenstreichRaw != null && !manualZapfenstreichRaw.isBlank()) {
 | 
					      if (manualZapfenstreichRaw != null && !manualZapfenstreichRaw.isBlank()) {
 | 
				
			||||||
         manualZapfenstreich = LocalTime.parse(manualZapfenstreichRaw, TIME_FORMATTER);
 | 
					         manualZapfenstreich = LocalTime.parse(manualZapfenstreichRaw, TIME_FORMATTER).truncatedTo(ChronoUnit.MINUTES);
 | 
				
			||||||
         showLoadingBarZapfenstreich(startTime, mittagspauseDuration, manualZapfenstreich);
 | 
					         showLoadingBarZapfenstreich(startTime, mittagspauseDuration, manualZapfenstreich);
 | 
				
			||||||
         return;
 | 
					         return;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -138,7 +138,7 @@ public class LoadingBar {
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
      verifyMinimumNumberOfArgs(args);
 | 
					      verifyMinimumNumberOfArgs(args);
 | 
				
			||||||
      verifyTimeFormat(nextArg, "Erstes Argument");
 | 
					      verifyTimeFormat(nextArg, "Erstes Argument");
 | 
				
			||||||
      var startTime = LocalTime.parse(nextArg, TIME_FORMATTER);
 | 
					      var startTime = LocalTime.parse(nextArg, TIME_FORMATTER).truncatedTo(ChronoUnit.MINUTES);
 | 
				
			||||||
      nextArg = args[1];
 | 
					      nextArg = args[1];
 | 
				
			||||||
      var section = DaySection.byParam(nextArg);
 | 
					      var section = DaySection.byParam(nextArg);
 | 
				
			||||||
      verifyDaySection(section, nextArg);
 | 
					      verifyDaySection(section, nextArg);
 | 
				
			||||||
@@ -161,7 +161,7 @@ public class LoadingBar {
 | 
				
			|||||||
         return;
 | 
					         return;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      verifyTimeFormat(nextArg, "Argument nach " + DaySection.MITTAG.getParam());
 | 
					      verifyTimeFormat(nextArg, "Argument nach " + DaySection.MITTAG.getParam());
 | 
				
			||||||
      var manualMittagspause = LocalTime.parse(nextArg, TIME_FORMATTER);
 | 
					      var manualMittagspause = LocalTime.parse(nextArg, TIME_FORMATTER).truncatedTo(ChronoUnit.MINUTES);
 | 
				
			||||||
      showLoadingBarMittagspause(startTime, manualMittagspause);
 | 
					      showLoadingBarMittagspause(startTime, manualMittagspause);
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -176,7 +176,7 @@ public class LoadingBar {
 | 
				
			|||||||
      int endTimeOffset = 0;
 | 
					      int endTimeOffset = 0;
 | 
				
			||||||
      Integer lunchDuration = null;
 | 
					      Integer lunchDuration = null;
 | 
				
			||||||
      if (TIME_PATTERN.matcher(nextArg).matches()) {
 | 
					      if (TIME_PATTERN.matcher(nextArg).matches()) {
 | 
				
			||||||
         maxZapfenstreich = LocalTime.parse(nextArg, TIME_FORMATTER);
 | 
					         maxZapfenstreich = LocalTime.parse(nextArg, TIME_FORMATTER).truncatedTo(ChronoUnit.MINUTES);
 | 
				
			||||||
      } else if (OFFSET_PATTERN.matcher(nextArg).matches()) {
 | 
					      } else if (OFFSET_PATTERN.matcher(nextArg).matches()) {
 | 
				
			||||||
         endTimeOffset = Integer.parseInt(nextArg);
 | 
					         endTimeOffset = Integer.parseInt(nextArg);
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
@@ -200,7 +200,7 @@ public class LoadingBar {
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
      if (maxZapfenstreich == null && !OFFSET_PATTERN.matcher(nextArg).matches()) {
 | 
					      if (maxZapfenstreich == null && !OFFSET_PATTERN.matcher(nextArg).matches()) {
 | 
				
			||||||
         verifyTimeFormat(nextArg, "Letztes Argument nach " + DaySection.ZAPFENSTREICH.getParam() + " und Mittagspausendauer");
 | 
					         verifyTimeFormat(nextArg, "Letztes Argument nach " + DaySection.ZAPFENSTREICH.getParam() + " und Mittagspausendauer");
 | 
				
			||||||
         maxZapfenstreich = LocalTime.parse(nextArg, TIME_FORMATTER);
 | 
					         maxZapfenstreich = LocalTime.parse(nextArg, TIME_FORMATTER).truncatedTo(ChronoUnit.MINUTES);
 | 
				
			||||||
         showLoadingBarZapfenstreich(startTime, lunchDuration, maxZapfenstreich);
 | 
					         showLoadingBarZapfenstreich(startTime, lunchDuration, maxZapfenstreich);
 | 
				
			||||||
         return;
 | 
					         return;
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user