Class IntervalHelper
- java.lang.Object
-
- de.inovat.kex.bast.common.IntervalHelper
-
public abstract class IntervalHelper extends java.lang.Object
Klasse die statische Methoden zum Arbeiten mit Intervallen liefert.
-
-
Field Summary
Fields Modifier and Type Field Description static long
MINUTE_IN_MS
static long
SEKUNDE_IN_MS
static long
STUNDE_IN_MS
static long
TAG_IN_MS
-
Method Summary
Modifier and Type Method Description 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.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.static long
getIntervalBegin(IntervalType intervalType, long time)
Liefert den Anfangszeitpunkt des Intervalles, in das der angegebene Zeitpunkt fällt.static java.util.Calendar
getIntervalBegin(IntervalType intervalType, java.util.Calendar cal)
Liefert den Anfangszeitpunkt des Intervalles, in das der angegebene Zeitpunkt fällt.static java.util.Date
getIntervalBegin(IntervalType intervalType, java.util.Date date)
Liefert den Anfangszeitpunkt des Intervalles, in das der angegebene Zeitpunkt fällt.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.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.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.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.static boolean
isValid(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
-IntervalType
time
- 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
-IntervalType
cal
-Calendar
zu rundende Datum/Zeitangabe- Returns:
Calendar
auf 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
-IntervalType
date
-Date
zu rundendes Datum- Returns:
Date
auf 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
-IntervalType
time
-long
zu rundendes Datum als UTC Angabe in ms- Returns:
long
auf 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.MONTH
undDate
= 2004-02-01 00°° wird das nächste Intervall korrekt mit 2004-03-01 00°° berechnet.- Parameters:
intervalType
-IntervalType
Intervallart/-längecal
-Calendar
Ausgangsdatumcnt
-int
Anzahl Intervalle- Returns:
Calendar
Intervallbeginn 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
-IntervalType
Intervallart/-längetime
- Ausgangsdatumcnt
-int
anzahl Intervalle- Returns:
Calendar
Intervallbeginn 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
-long
AusgangsdatumintervalType
-IntervalType
Intervallart/-länge- Returns:
long
Intervallbeginn 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
-Calendar
Ausgangsdatum (von)to
-Calendar
Ausgangsdatum (bis)intervalType
-IntervalType
Intervallart/-länge- Returns:
Calendar
Intervallbeginn 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
-long
Ausgangsdatum (von), (Calendar.getTimeInMillis()
)to
-long
Ausgangsdatum (bis), (Calendar.getTimeInMillis()
)intervalType
-IntervalType
Intervallart/-länge- Returns:
Calendar
Intervallbeginn des Folgeintervalls
-
-