Class DateHelper

java.lang.Object
de.elo.mover.main.helper.DateHelper

public class DateHelper
extends java.lang.Object

Überschrift: DateHelper.

Beschreibung: Hilfsklasse für Datumsangaben.

Copyright: Copyright (c) ELO Digital Office GmbH 2018 - 2021

  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.text.DateFormat WITH_MINUTES
    Formatter für ein Datum mit Minuten (z.B. 01.02.2010 12:34).
  • Constructor Summary

    Constructors
    Constructor Description
    DateHelper()  
  • Method Summary

    Modifier and Type Method Description
    static java.lang.String dateFromInternalDate​(int internalDate, java.lang.String timeZone)
    Liefert ein Iso-Datum aus dem angegebenen internen ELO-Datum zurück.
    static java.util.Date dateFromIso​(java.lang.String isoDate)
    Erzeugt aus einem Iso-Datum ein Java-Datum.
    static java.lang.String displayDateFromDate​(java.util.Date date)
    Formatiert ein Java Datum in eine Datumsanzeige um.
    static java.lang.String displayDateFromDate​(java.util.Date date, java.text.DateFormat dateFormat)
    Formatiert ein Java Datum in eine Datumsanzeige um.
    static java.lang.String displayDateFromIso​(java.lang.String isoDate)
    Formatiert einen ISO Datumsstring in eine Datumsanzeige um.
    static java.lang.String displayDateFromIso​(java.lang.String isoDate, java.text.DateFormat dateFormat)
    Formatiert einen ISO Datumsstring in eine Datumsanzeige um.
    static java.lang.String displayDateFromIsoWithTime​(java.lang.String isoDate)
    Formatiert einen ISO Datumsstring in eine Datumsanzeige um.
    static java.lang.String displayDuration​(long millisec)
    Liefert eine Darstellung der Dauer in Stunden, Minuten, Sekunden für die angegebenen Millisekunden zurück.
    static java.util.Date getCurrentWeekEnd()
    Liefert das Ende der aktuellen Woche zurück.
    static java.util.Date getCurrentWeekStart()
    Liefert den Anfang der aktuellen Woche zurück.
    static java.util.Date getDateWithoutTime​(java.util.Date date)
    Liefert das Datum ohne Uhrzeit zurück (0:00:00.000).
    static java.util.Date getEdgeOfDay​(java.util.Date date, boolean endOfDay)
    Liefert ein Datum mit der Anfangs/End-Zeit des angegebenen Datums.
    static java.util.Date getEdgeOfYear​(java.util.Date yearDate, boolean endOfYear)
    Liefert das Datum mit erstem/letztem Tag des Jahres und passender Uhrzeit.
    static java.lang.String getIsoDate​(java.io.File file)
    Liefert das Datum der letzten Änderung der Datei als ISO-Datum.
    static long getMilliseconds​(int dayCount)
    Liefert die Anzahl der Millisekunden der angegebenen Tage zurück.
    static java.lang.String getMonthWithSorting​(int month)
    Liefert den angegebenen Monat mit einer zweistelligen Nummer und seiner Bezeichnung zurück.
    static java.util.Date getToday()
    Liefert das heutige Datum mit der aktuellen Uhrzeit zurück.
    static java.util.Date getTomorrow()
    Liefert das Datum von morgen zurück.
    static java.util.Date getYesterday()
    Liefert das gestrige Datum zurück.
    static boolean hasTime​(java.util.Date date)
    Meldet zurück, ob das Datum eine Uhrzeit hat (Stunde, Minute, Sekunde oder Millisekunde ungleich 0).
    static int internalDateFromDate​(java.lang.String isoDate, java.lang.String timeZone)
    Liefert ein internes ELO-Datum aus dem angegebenen Iso-Datum zurück.
    static boolean isNewerThan​(java.util.Date firstDate, java.util.Date secondDate)
    Meldet zurück, ob das erste Datum nach dem zweiten Datum liegt.
    static java.lang.String isoFromDate​(java.util.Date date)
    Erzeugt aus dem angegebenen Java-Datum ein Iso-Datum mit Datum und Uhrzeit.
    static java.lang.String isoFromDateShort​(java.util.Date date)
    Erzeugt aus dem angegebenen Java-Datum ein Iso-Datum mit Datum und ohne Uhrzeit.
    static boolean isValidIsoDate​(java.lang.String isoDate)
    Meldet zurück, ob das angegebene Datum ein gültiges IsoDatum ist.
    static boolean isValidYear​(java.util.Date date)
    Überprüft, ob das Datum im möglichen Datumsbereich (Jahre 1000 bis 6000) ist.
    static java.util.Date now​(int offsetMinutes)
    Liefert das heutige Datum mit den angegebenen addierten Minuten zurück.
    static java.util.Date nowInMonths​(int monthCount)
    Liefert das aktuelle Datum erhöht um die angegebene Anzahl an Monaten zurück.
    static java.util.Date parseDate​(java.lang.String text)
    Liefert das Datum zum übergebenen Text, oder null, falls der Text kein gültiges Datum ist.
    static java.lang.String timestampFromDate​(java.util.Date date)
    Erzeugt aus dem angegebenen Java-Datum ein ELO Zeitstempel mit Datum und Uhrzeit.
    static java.lang.String toString​(java.util.Date date)
    Erzeugt eine Textdardstellung für das angegebene Java Datum.
    static java.lang.String toTime​(java.util.Date date)
    Konvertiert ein Java Datum in die Textdardstellung der Uhrzeit.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • WITH_MINUTES

      public static final java.text.DateFormat WITH_MINUTES
      Formatter für ein Datum mit Minuten (z.B. 01.02.2010 12:34).
  • Constructor Details

    • DateHelper

      public DateHelper()
  • Method Details

    • isoFromDate

      public static java.lang.String isoFromDate​(java.util.Date date)
      Erzeugt aus dem angegebenen Java-Datum ein Iso-Datum mit Datum und Uhrzeit.
      Parameters:
      date - Java-Datum
      Returns:
      Iso-Datum
    • isoFromDateShort

      public static java.lang.String isoFromDateShort​(java.util.Date date)
      Erzeugt aus dem angegebenen Java-Datum ein Iso-Datum mit Datum und ohne Uhrzeit.
      Parameters:
      date - Java-Datum
      Returns:
      Iso-Datum
    • dateFromIso

      public static java.util.Date dateFromIso​(java.lang.String isoDate)
      Erzeugt aus einem Iso-Datum ein Java-Datum.
      Parameters:
      isoDate - Datum in Textform (JJJJMMTTHHMMSS)
      Returns:
      das geparste Datum oder null bei ungültigen Eingaben
    • isValidIsoDate

      public static boolean isValidIsoDate​(java.lang.String isoDate)
      Meldet zurück, ob das angegebene Datum ein gültiges IsoDatum ist.
      Parameters:
      isoDate - Iso-Datum
      Returns:
      Gültiges Iso-Datum
    • hasTime

      public static boolean hasTime​(java.util.Date date)
      Meldet zurück, ob das Datum eine Uhrzeit hat (Stunde, Minute, Sekunde oder Millisekunde ungleich 0).
      Parameters:
      date - Datum
      Returns:
      Datum enthält Uhrzeit
    • isNewerThan

      public static boolean isNewerThan​(java.util.Date firstDate, java.util.Date secondDate)
      Meldet zurück, ob das erste Datum nach dem zweiten Datum liegt.
      Parameters:
      firstDate - Erstes Datum
      secondDate - Zweites Datum
      Returns:
      Erstes Datum liegt nach dem zweiten Datum
    • getDateWithoutTime

      public static java.util.Date getDateWithoutTime​(java.util.Date date)
      Liefert das Datum ohne Uhrzeit zurück (0:00:00.000).
      Parameters:
      date - Datum
      Returns:
      Datum ohne Uhrzeit
    • getIsoDate

      public static java.lang.String getIsoDate​(java.io.File file)
      Liefert das Datum der letzten Änderung der Datei als ISO-Datum.
      Parameters:
      file - Datei
      Returns:
      ISO-Datum der letzten Dateiänderung
    • now

      public static java.util.Date now​(int offsetMinutes)
      Liefert das heutige Datum mit den angegebenen addierten Minuten zurück.
      Parameters:
      offsetMinutes - Anzahl der Minuten
      Returns:
      Heutiges Datum
    • nowInMonths

      public static java.util.Date nowInMonths​(int monthCount)
      Liefert das aktuelle Datum erhöht um die angegebene Anzahl an Monaten zurück.
      Parameters:
      monthCount - Anzahl der Monate
      Returns:
      Neues Datum
    • getToday

      public static java.util.Date getToday()
      Liefert das heutige Datum mit der aktuellen Uhrzeit zurück.
      Returns:
      aktuelles Datum mit Uhrzeit
    • getYesterday

      public static java.util.Date getYesterday()
      Liefert das gestrige Datum zurück.
      Returns:
      Gestriges Datum
    • getTomorrow

      public static java.util.Date getTomorrow()
      Liefert das Datum von morgen zurück.
      Returns:
      Datum von morgen
    • getCurrentWeekStart

      public static java.util.Date getCurrentWeekStart()
      Liefert den Anfang der aktuellen Woche zurück.
      Returns:
      Anfang der Woche
    • getCurrentWeekEnd

      public static java.util.Date getCurrentWeekEnd()
      Liefert das Ende der aktuellen Woche zurück.
      Returns:
      Ende der aktuellen Woche
    • displayDateFromDate

      public static java.lang.String displayDateFromDate​(java.util.Date date)
      Formatiert ein Java Datum in eine Datumsanzeige um. Dabei wird die übliche Formatierung M/D/Y oder T.M.J berücksichtigt. Falls das Datum auch eine Uhrzeit enthält, wird diese ignoriert. Bei null wir ein leerer String zurückgegeben.
      Parameters:
      date - Datum, 8-stellig oder mehr
      Returns:
      Datumsanzeige
    • displayDateFromDate

      public static java.lang.String displayDateFromDate​(java.util.Date date, java.text.DateFormat dateFormat)
      Formatiert ein Java Datum in eine Datumsanzeige um. Dabei wird die übliche Formatierung M/D/Y oder T.M.J berücksichtigt. Über den Parameter dateFormat kann eingestellt werden, ob Zeitangaben ignoriert werden und ob die Zeit Minutengenau oder Sekundengenau ausgegeben wird.
      Parameters:
      date - Datum, 8-stellig oder mehr
      dateFormat - Art der Zeitdarstellung
      Returns:
      Datumsanzeige (optional mit Zeit)
    • displayDateFromIso

      public static java.lang.String displayDateFromIso​(java.lang.String isoDate)
      Formatiert einen ISO Datumsstring in eine Datumsanzeige um. Dabei wird die übliche Formatierung M/D/Y oder T.M.J berücksichtigt. Falls das Datum auch eine Uhrzeit enthält, wird diese ignoriert. Bei null wir ein leerer String zurückgegeben.
      Parameters:
      isoDate - ISO-Datum, 8-stellig oder mehr
      Returns:
      Datumsanzeige
    • displayDateFromIsoWithTime

      public static java.lang.String displayDateFromIsoWithTime​(java.lang.String isoDate)
      Formatiert einen ISO Datumsstring in eine Datumsanzeige um. Dabei wird die übliche Formatierung M/D/Y oder T.M.J berücksichtigt. Falls das Datum auch eine Uhrzeit enthält, wird diese ebenfalls formatiert. Bei null wir ein leerer String zurückgegeben.
      Parameters:
      isoDate - ISO Datum, 8-stellig oder mehr
      Returns:
      Datumsanzeige
    • displayDateFromIso

      public static java.lang.String displayDateFromIso​(java.lang.String isoDate, java.text.DateFormat dateFormat)
      Formatiert einen ISO Datumsstring in eine Datumsanzeige um. Dabei wird die übliche Formatierung M/D/Y oder T.M.J berücksichtigt. Über den Parameter dateFormat kann eingestellt werden, ob Zeitangaben ignoriert werden und ob die Zeit Minutengenau oder Sekundengenau ausgegeben wird.
      Parameters:
      isoDate - ISO-Datum, 8-stellig oder mehr
      dateFormat - Art der Zeitdarstellung
      Returns:
      Datumsanzeige (optional mit Zeit)
    • parseDate

      public static java.util.Date parseDate​(java.lang.String text)
      Liefert das Datum zum übergebenen Text, oder null, falls der Text kein gültiges Datum ist. Es kann auch ein positiver oder negativer Offset zum aktuellen Datum angegeben werden, das ist dann eine Differenz in Tagen. Zusätzlich kann y oder j für eine Jahresdifferenz oder m für eine Monatsdifferenz angegeben werden: +1 +5d -2m +3y für morgen, in fünf Tagen, vor zwei Monaten und in drei Jahren.
      Parameters:
      text - Datumstext
      Returns:
      Java-Datum
    • dateFromInternalDate

      public static java.lang.String dateFromInternalDate​(int internalDate, java.lang.String timeZone) throws java.lang.Exception
      Liefert ein Iso-Datum aus dem angegebenen internen ELO-Datum zurück.
      Parameters:
      internalDate - Internes ELO-Datum
      timeZone - Zeitzone
      Returns:
      Iso-Datum
      Throws:
      java.lang.Exception
    • internalDateFromDate

      public static int internalDateFromDate​(java.lang.String isoDate, java.lang.String timeZone) throws java.lang.Exception
      Liefert ein internes ELO-Datum aus dem angegebenen Iso-Datum zurück.
      Parameters:
      isoDate - Iso-Datum
      timeZone - Zeitzone
      Returns:
      Internes ELO-Datum
      Throws:
      java.lang.Exception
    • getMonthWithSorting

      public static java.lang.String getMonthWithSorting​(int month) throws java.lang.Exception
      Liefert den angegebenen Monat mit einer zweistelligen Nummer und seiner Bezeichnung zurück.
      Parameters:
      month - Monat als Zahl
      Returns:
      Monat mit zweistelliger Nummer und Bezeichnung
      Throws:
      java.lang.Exception
    • timestampFromDate

      public static java.lang.String timestampFromDate​(java.util.Date date)
      Erzeugt aus dem angegebenen Java-Datum ein ELO Zeitstempel mit Datum und Uhrzeit.
      Parameters:
      date - Java-Datum
      Returns:
      ELO Zeitstempel
    • isValidYear

      public static boolean isValidYear​(java.util.Date date) throws java.lang.Exception
      Überprüft, ob das Datum im möglichen Datumsbereich (Jahre 1000 bis 6000) ist.
      Parameters:
      date - zu prüfendes Datum
      Returns:
      True wenn das Datum gültig ist, False sonst
      Throws:
      java.lang.Exception
    • getEdgeOfDay

      public static java.util.Date getEdgeOfDay​(java.util.Date date, boolean endOfDay) throws java.lang.Exception
      Liefert ein Datum mit der Anfangs/End-Zeit des angegebenen Datums.
      Parameters:
      date - Datum
      endOfDay - True für Uhrzeit 23:59:59:999, False für 00:00:00:000.
      Returns:
      der Tag mit passender Uhrzeit für Tagesanfang / Tagesende
      Throws:
      java.lang.Exception
    • getEdgeOfYear

      public static java.util.Date getEdgeOfYear​(java.util.Date yearDate, boolean endOfYear) throws java.lang.Exception
      Liefert das Datum mit erstem/letztem Tag des Jahres und passender Uhrzeit.
      Parameters:
      yearDate - Datum dessen Jahr benutzt werden soll
      endOfYear - True für 31.12., False für 1.1.
      Returns:
      Java-Datum
      Throws:
      java.lang.Exception
    • getMilliseconds

      public static long getMilliseconds​(int dayCount) throws java.lang.Exception
      Liefert die Anzahl der Millisekunden der angegebenen Tage zurück.
      Parameters:
      dayCount - Anzahl der Tage
      Returns:
      Millisekunden
      Throws:
      java.lang.Exception
    • displayDuration

      public static java.lang.String displayDuration​(long millisec) throws java.lang.Exception
      Liefert eine Darstellung der Dauer in Stunden, Minuten, Sekunden für die angegebenen Millisekunden zurück.
      Parameters:
      millisec - Millisekunden
      Returns:
      Darstellung in Stunden/Minuten/Sekunden
      Throws:
      java.lang.Exception
    • toString

      public static java.lang.String toString​(java.util.Date date)
      Erzeugt eine Textdardstellung für das angegebene Java Datum.
      Parameters:
      date - Java Datum
      Returns:
      Textdarstellung
    • toTime

      public static java.lang.String toTime​(java.util.Date date)
      Konvertiert ein Java Datum in die Textdardstellung der Uhrzeit.
      Parameters:
      date - Java Datum
      Returns:
      Textdarstellung der Uhrzeit