Class IntervalHelper
- java.lang.Object
-
- de.inovat.kex.bast.common.IntervalHelper
-
public abstract class IntervalHelper extends java.lang.ObjectKlasse die statische Methoden zum Arbeiten mit Intervallen liefert.
-
-
Field Summary
Fields Modifier and Type Field Description static longMINUTE_IN_MSstatic longSEKUNDE_IN_MSstatic longSTUNDE_IN_MSstatic longTAG_IN_MS
-
Method Summary
Modifier and Type Method Description static intgetAnzahlIntervalle(long from, long to, IntervalType intervalType)Berechnung die Anzahl Intervalle zwischen zwei Datum/Zeitangaben auf Basis der durch die Intervallart vorgegebenen Intervalllänge.static intgetAnzahlIntervalle(IntervalType intervalType, java.util.Calendar from, java.util.Calendar to)Berechnung die Anzahl Intervalle zwischen zwei Datum/Zeitangaben auf Basis der durch die Intervallart vorgegebenen Intervalllänge.static longgetIntervalBegin(IntervalType intervalType, long time)Liefert den Anfangszeitpunkt des Intervalles, in das der angegebene Zeitpunkt fällt.static java.util.CalendargetIntervalBegin(IntervalType intervalType, java.util.Calendar cal)Liefert den Anfangszeitpunkt des Intervalles, in das der angegebene Zeitpunkt fällt.static java.util.DategetIntervalBegin(IntervalType intervalType, java.util.Date date)Liefert den Anfangszeitpunkt des Intervalles, in das der angegebene Zeitpunkt fällt.static longgetNextIntervalBegin(IntervalType intervalType, long time)Berechnung des nächstfolgenden Intervallanfangs auf Basis des angegebenen Datums und der durch die Intervallart vorgegebenen Intervalllänge.static longgetNextIntervalBegin(IntervalType intervalType, long time, int cnt)Berechnung des nächstfolgenden Intervallanfangs auf Basis des angegebenen Datums und der durch die Intervallart vorgegebenen Intervalllänge sowie anzahl Intervalle.static java.util.CalendargetNextIntervalBegin(IntervalType intervall, java.util.Calendar cal)Berechnung des nächstfolgenden Intervallanfangs auf Basis des angegebenen Datums und der durch die Intervallart vorgegebenen Intervalllänge.static java.util.CalendargetNextIntervalBegin(IntervalType intervalType, java.util.Calendar cal, int cnt)Berechnung des nächstfolgenden Intervallanfangs auf Basis des angegebenen Datums und der durch die Intervallart vorgegebenen Intervalllänge.static booleanisValid(IntervalType intervalType, long time)Bestimmt, ob die übergebene Zeit gültig für den angegebenen IntervallTyp ist.
-
-
-
Field Detail
-
TAG_IN_MS
public static final long TAG_IN_MS
- See Also:
- Constant Field Values
-
STUNDE_IN_MS
public static final long STUNDE_IN_MS
- See Also:
- Constant Field Values
-
MINUTE_IN_MS
public static final long MINUTE_IN_MS
- See Also:
- Constant Field Values
-
SEKUNDE_IN_MS
public static final long SEKUNDE_IN_MS
- See Also:
- Constant Field Values
-
-
Method Detail
-
isValid
public static boolean isValid(IntervalType intervalType, long time)
Bestimmt, ob die übergebene Zeit gültig für den angegebenen IntervallTyp ist.
- Parameters:
intervalType-IntervalTypetime- long- Returns:
- boolean
-
getIntervalBegin
public static java.util.Calendar getIntervalBegin(IntervalType intervalType, java.util.Calendar cal)
Liefert den Anfangszeitpunkt des Intervalles, in das der angegebene Zeitpunkt fällt.
- Parameters:
intervalType-IntervalTypecal-Calendarzu rundende Datum/Zeitangabe- Returns:
Calendarauf Intervallanfang gerundete Datum/Zeitangabe
-
getIntervalBegin
public static java.util.Date getIntervalBegin(IntervalType intervalType, java.util.Date date)
Liefert den Anfangszeitpunkt des Intervalles, in das der angegebene Zeitpunkt fällt.
- Parameters:
intervalType-IntervalTypedate-Datezu rundendes Datum- Returns:
Dateauf Intervallanfang gerundete Datum/Zeitangabe
-
getIntervalBegin
public static long getIntervalBegin(IntervalType intervalType, long time)
Liefert den Anfangszeitpunkt des Intervalles, in das der angegebene Zeitpunkt fällt.
- Parameters:
intervalType-IntervalTypetime-longzu rundendes Datum als UTC Angabe in ms- Returns:
longauf Intervallanfang gerundete Datum/Zeitangabe
-
getNextIntervalBegin
public static java.util.Calendar getNextIntervalBegin(IntervalType intervalType, java.util.Calendar cal, int cnt)
Berechnung des nächstfolgenden Intervallanfangs auf Basis des angegebenen Datums und der durch die Intervallart vorgegebenen Intervalllänge.
Zur Berechnung wird die Intervalllänge korrekt dazugerechnet und anschließend auf den Intervallbeginn gerundet. Um bei Intervallart Stunde auch zum Zeitpunkt der Sommerzeitumstellung korrekte Werte zu erhalten wird direkt über die Millisekunden gearbeitet. Ansonsten wird der Wechsel über die Intervallgrenzen mit Hilfe der Kalenderfunktionen korrekt ermittelt: bei Intervallart
Calendar.MONTHundDate= 2004-02-01 00°° wird das nächste Intervall korrekt mit 2004-03-01 00°° berechnet.- Parameters:
intervalType-IntervalTypeIntervallart/-längecal-CalendarAusgangsdatumcnt-intAnzahl Intervalle- Returns:
CalendarIntervallbeginn des Folgeintervalls
-
getNextIntervalBegin
public static java.util.Calendar getNextIntervalBegin(IntervalType intervall, java.util.Calendar cal)
Berechnung des nächstfolgenden Intervallanfangs auf Basis des angegebenen Datums und der durch die Intervallart vorgegebenen Intervalllänge.
- Parameters:
intervall- Intervallart/-längecal- Ausgangsdatum- Returns:
- Intervallbeginn des Folgeintervalls
-
getNextIntervalBegin
public static long getNextIntervalBegin(IntervalType intervalType, long time, int cnt)
Berechnung des nächstfolgenden Intervallanfangs auf Basis des angegebenen Datums und der durch die Intervallart vorgegebenen Intervalllänge sowie anzahl Intervalle.
- Parameters:
intervalType-IntervalTypeIntervallart/-längetime- Ausgangsdatumcnt-intanzahl Intervalle- Returns:
CalendarIntervallbeginn des Folgeintervalls
-
getNextIntervalBegin
public static long getNextIntervalBegin(IntervalType intervalType, long time)
Berechnung des nächstfolgenden Intervallanfangs auf Basis des angegebenen Datums und der durch die Intervallart vorgegebenen Intervalllänge.
- Parameters:
time-longAusgangsdatumintervalType-IntervalTypeIntervallart/-länge- Returns:
longIntervallbeginn des Folgeintervalls
-
getAnzahlIntervalle
public static int getAnzahlIntervalle(IntervalType intervalType, java.util.Calendar from, java.util.Calendar to)
Berechnung die Anzahl Intervalle zwischen zwei Datum/Zeitangaben auf Basis der durch die Intervallart vorgegebenen Intervalllänge.
- Parameters:
from-CalendarAusgangsdatum (von)to-CalendarAusgangsdatum (bis)intervalType-IntervalTypeIntervallart/-länge- Returns:
CalendarIntervallbeginn des Folgeintervalls
-
getAnzahlIntervalle
public static int getAnzahlIntervalle(long from, long to, IntervalType intervalType)Berechnung die Anzahl Intervalle zwischen zwei Datum/Zeitangaben auf Basis der durch die Intervallart vorgegebenen Intervalllänge.
- Parameters:
from-longAusgangsdatum (von), (Calendar.getTimeInMillis())to-longAusgangsdatum (bis), (Calendar.getTimeInMillis())intervalType-IntervalTypeIntervallart/-länge- Returns:
CalendarIntervallbeginn des Folgeintervalls
-
-