Skip to content

Package: ZeitUtils

ZeitUtils

nameinstructionbranchcomplexitylinemethod
addTime(LocalDateTime, Quantity)
M: 0 C: 6
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
calcTimeBetween(LocalDateTime, LocalDateTime)
M: 0 C: 8
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
verschiebeDatumUmEinenMonat(LocalDate)
M: 0 C: 19
100%
M: 0 C: 2
100%
M: 0 C: 2
100%
M: 0 C: 6
100%
M: 0 C: 1
100%
verschiebeZeitpunktUmEinenMonat(LocalDateTime)
M: 0 C: 10
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%

Coverage

1: package zeit;
2:
3: import tec.uom.se.ComparableQuantity;
4: import tec.uom.se.quantity.Quantities;
5: import tec.uom.se.quantity.time.TimeQuantities;
6: import tec.uom.se.unit.Units;
7:
8: import javax.measure.Quantity;
9: import javax.measure.quantity.Time;
10: import java.time.LocalDate;
11: import java.time.LocalDateTime;
12: import java.time.LocalTime;
13: import java.time.Month;
14: import java.time.temporal.ChronoUnit;
15:
16: /**
17: * Klasse, welche Zeitutility-Operationen anbietet, die in unterschiedlichen Kontexten gebraucht werden.
18: */
19: public final class ZeitUtils {
20:
21:         private ZeitUtils() {
22:                 // Just Utils
23:         }
24:
25:         /**
26:          * @param date
27:          *                 Zeitpunkt
28:          * @param time
29:          *                 Zeit in einer Einheit
30:          *
31:          * @return den Zeitpunkt addiert um die Zeit.
32:          */
33:         public static LocalDateTime addTime(final LocalDateTime date, final Quantity<Time> time) {
34:                 return date.plus(TimeQuantities.toTemporalSeconds(time).getTemporalAmount());
35:         }
36:
37:         /**
38:          * @param von
39:          *                 Startzeitpunkt
40:          * @param bis
41:          *                 Endezeitpunkt
42:          *
43:          * @return berechnet die Dauer zwischen einem Startzeitpunkt und einem Endezeitpunkt.
44:          */
45:         public static ComparableQuantity<Time> calcTimeBetween(final LocalDateTime von, final LocalDateTime bis) {
46:                 return Quantities.getQuantity(ChronoUnit.SECONDS.between(von, bis), Units.SECOND);
47:         }
48:
49: /**
50: *
51: * @param zeitpunkt Zeitpunkt, welcher verschoben werden soll.
52: * @return den Zeitpunkt verschoben um einen Monat.
53: */
54: public static LocalDateTime verschiebeZeitpunktUmEinenMonat(final LocalDateTime zeitpunkt) {
55: return LocalDateTime.of(ZeitUtils.verschiebeDatumUmEinenMonat(zeitpunkt.toLocalDate()),
56: LocalTime.of(zeitpunkt.getHour(), zeitpunkt.getMinute()));
57: }
58: /**
59: *
60: * @param datum Zeitpunkt, welcher verschoben werden soll.
61: * @return den Zeitpunkt verschoben um einen Monat.
62: */
63: public static LocalDate verschiebeDatumUmEinenMonat(final LocalDate datum) {
64: final Month newMonth = datum.getMonth().plus(1);
65: int newOrOldYear = datum.getYear();
66:• if (newMonth.equals(Month.JANUARY)) {
67: newOrOldYear++;
68: }
69: return LocalDate.of(newOrOldYear,
70: newMonth,
71: datum.getDayOfMonth());
72: }
73:
74: }