mirror of
https://github.com/robertvokac/time-calc.git
synced 2025-03-25 07:27:49 +01:00
Added new improvements
This commit is contained in:
parent
83f4e130a2
commit
56428bf9e9
@ -47,13 +47,13 @@ public class TimeCalcWindow {
|
|||||||
public static final String WALL = "||";
|
public static final String WALL = "||";
|
||||||
private static final int MARGIN = 10;
|
private static final int MARGIN = 10;
|
||||||
|
|
||||||
|
|
||||||
private final String windowTitle;
|
private final String windowTitle;
|
||||||
private final int totalMinutes;
|
private final int totalMinutes;
|
||||||
private final Set<Integer> alreadyShownPercents = new HashSet<>();
|
private final Set<Integer> alreadyShownPercents = new HashSet<>();
|
||||||
private final TimeHoursMinutes startTime;
|
private final TimeHoursMinutes startTime;
|
||||||
private final TimeHoursMinutes overtime;
|
private final TimeHoursMinutes overtime;
|
||||||
private int endHour;
|
private final TimeHoursMinutes endTime;
|
||||||
private int endMinute;
|
|
||||||
private boolean stopBeforeEnd = false;
|
private boolean stopBeforeEnd = false;
|
||||||
private boolean vtipyShown = false;
|
private boolean vtipyShown = false;
|
||||||
|
|
||||||
@ -69,16 +69,13 @@ public class TimeCalcWindow {
|
|||||||
this.startTime = new TimeHoursMinutes(startTimeIn);
|
this.startTime = new TimeHoursMinutes(startTimeIn);
|
||||||
this.overtime = new TimeHoursMinutes(overTimeIn);
|
this.overtime = new TimeHoursMinutes(overTimeIn);
|
||||||
|
|
||||||
this.endHour = startTime.getHour() + Constants.WORKING_HOURS_LENGTH + overtime.getHour();
|
this.endTime = new TimeHoursMinutes(startTime.getHour() + Constants.WORKING_HOURS_LENGTH + overtime.getHour(),
|
||||||
this.endMinute = startTime.getMinute() + Constants.WORKING_MINUTES_LENGTH + overtime.getMinute();
|
startTime.getMinute() + Constants.WORKING_MINUTES_LENGTH + overtime.getMinute());
|
||||||
while (endMinute >= 60) {
|
|
||||||
endMinute = endMinute - 60;
|
|
||||||
endHour = endHour + 1;
|
|
||||||
}
|
|
||||||
this.totalMinutes =
|
this.totalMinutes =
|
||||||
(endHour * 60 + endMinute) - (startTime.getHour() * 60 + startTime.getMinute());
|
(this.endTime.getHour() * TimeHoursMinutes.MINUTES_PER_HOUR + this.endTime.getMinute()) - (startTime.getHour() * TimeHoursMinutes.MINUTES_PER_HOUR + startTime.getMinute());
|
||||||
int totalSeconds = totalMinutes * 60;
|
int totalSeconds = totalMinutes * 60;
|
||||||
int totalMilliseconds = totalSeconds * 1000;
|
int totalMilliseconds = totalSeconds * TimeHoursMinutes.MILLISECONDS_PER_SECOND;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -421,8 +418,8 @@ public class TimeCalcWindow {
|
|||||||
int minuteNow = Integer.parseInt(nowString.split(":")[1]);
|
int minuteNow = Integer.parseInt(nowString.split(":")[1]);
|
||||||
int secondNow = Integer.parseInt(nowString.split(":")[2]);
|
int secondNow = Integer.parseInt(nowString.split(":")[2]);
|
||||||
int millisecondNow = Integer.parseInt(nowString.split(":")[3]);
|
int millisecondNow = Integer.parseInt(nowString.split(":")[3]);
|
||||||
int hourRemains = endHour - hourNow;
|
int hourRemains = endTime.getHour() - hourNow;
|
||||||
int minuteRemains = endMinute - minuteNow;
|
int minuteRemains = endTime.getMinute() - minuteNow;
|
||||||
if (minuteRemains < 0) {
|
if (minuteRemains < 0) {
|
||||||
minuteRemains = minuteRemains + 60;
|
minuteRemains = minuteRemains + 60;
|
||||||
hourRemains = hourRemains - 1;
|
hourRemains = hourRemains - 1;
|
||||||
@ -498,8 +495,8 @@ public class TimeCalcWindow {
|
|||||||
+ NumberFormats.FORMATTER_THREE_DECIMAL_PLACES
|
+ NumberFormats.FORMATTER_THREE_DECIMAL_PLACES
|
||||||
.format(totalSecondsRemainsDouble - 60)
|
.format(totalSecondsRemainsDouble - 60)
|
||||||
+ " s" + ")" + " End=" + String
|
+ " s" + ")" + " End=" + String
|
||||||
.format("%02d", endHour) + ":" + String
|
.format("%02d", endTime.getHour()) + ":" + String
|
||||||
.format("%02d", endMinute);
|
.format("%02d", endTime.getMinute());
|
||||||
|
|
||||||
//if(System.getProperty("progress")!=null) {
|
//if(System.getProperty("progress")!=null) {
|
||||||
printPercentToAscii(done, msg, sb);
|
printPercentToAscii(done, msg, sb);
|
||||||
|
@ -1,17 +1,20 @@
|
|||||||
package org.nanoboot.utils.timecalc.utils;
|
package org.nanoboot.utils.timecalc.utils;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Robert
|
* @author Robert
|
||||||
* @since 21.02.2024
|
* @since 21.02.2024
|
||||||
*/
|
*/
|
||||||
public class TimeHoursMinutes {
|
public class TimeHoursMinutes {
|
||||||
|
public static final int MINUTES_PER_HOUR = 60;
|
||||||
|
public static final int MILLISECONDS_PER_SECOND = 1000;
|
||||||
|
|
||||||
@Getter
|
@Getter @Setter
|
||||||
private final Integer hour;
|
private Integer hour;
|
||||||
@Getter
|
@Getter @Setter
|
||||||
private final Integer minute;
|
private Integer minute;
|
||||||
|
|
||||||
public TimeHoursMinutes(String string) {
|
public TimeHoursMinutes(String string) {
|
||||||
boolean isNegative = string.startsWith("-");
|
boolean isNegative = string.startsWith("-");
|
||||||
@ -22,4 +25,13 @@ public class TimeHoursMinutes {
|
|||||||
this.hour = (isNegative ? (-1) : 1) * Integer.valueOf(array[0]);
|
this.hour = (isNegative ? (-1) : 1) * Integer.valueOf(array[0]);
|
||||||
this.minute = (isNegative ? (-1) : 1) * Integer.valueOf(array[1]);
|
this.minute = (isNegative ? (-1) : 1) * Integer.valueOf(array[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TimeHoursMinutes(int hourIn, int minuteIn) {
|
||||||
|
this.hour = hourIn;
|
||||||
|
this.minute = minuteIn;
|
||||||
|
while (minute >= MINUTES_PER_HOUR) {
|
||||||
|
minute = minute - MINUTES_PER_HOUR;
|
||||||
|
hour = hour + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user