Class Zeitraum

java.lang.Object
de.bund.bva.isyfact.datetime.core.Zeitraum
All Implemented Interfaces:
Serializable

public class Zeitraum extends Object implements Serializable
Ein Zeitraum bestehend aus zwei Datums- oder Zeitangaben, die den Start und das Ende eines Zeitraums markieren. Die Dauer des Zeitraums ist die Differenz aus Ende und Start.
See Also:
  • Method Details

    • of

      public static Zeitraum of(ZonedDateTime anfang, ZonedDateTime ende)
      Erstellt einen Zeitraum unter Angabe von Start und Ende des Zeitraums.
      Parameters:
      anfang - der Anfang des Zeitraums inklusive, muss vor dem Ende liegen, nicht null
      ende - das Ende des Zeitraums exklusive, muss nach Anfang liegen, nicht null
      Returns:
      ein Zeitraum mit Start und Ende gesetzt
    • of

      public static Zeitraum of(ZonedDateTime anfang, Duration dauer)
      Erstellt einen Zeitraum unter Angabe des Anfangs und der Dauer als Duration des Zeitraums. Zur Bestimmung des Endes wird die Dauer zum Anfang hinzuaddiert.
      Parameters:
      anfang - der Anfang des Zeitraums inklusive, nicht null
      dauer - die Dauer des Zeitraums, nicht negativ, nicht null
      Returns:
      ein Zeitraum mit Anfang und Dauer
      Throws:
      DateTimeException - wenn die Dauer negativ ist
    • of

      public static Zeitraum of(ZonedDateTime anfang, Period dauer)
      Erstellt einen Zeitraum unter Angabe des Anfangs und der Dauer als Period des Zeitraums. Zur Bestimmung des Endes wird die Dauer zum Anfang hinzuaddiert.
      Parameters:
      anfang - der Anfang des Zeitraums inklusive, nicht null
      dauer - die Dauer des Zeitraums, nicht negativ, nicht null
      Returns:
      ein Zeitraum mit Anfang und Dauer
      Throws:
      DateTimeException - wenn die Dauer negativ ist
    • of

      public static Zeitraum of(LocalDateTime anfang, LocalDateTime ende)
      Erstellt einen Zeitraum unter Angabe von Start und Ende des Zeitraums. Als Zeitzone für Anfang und Ende wird Default-Zeitzone verwendet.
      Parameters:
      anfang - der Anfang des Zeitraums inklusive, nicht null
      ende - das Ende des Zeitraums exklusive, nicht null
      Returns:
      ein Zeitraum mit Start und Ende gesetzt
    • of

      public static Zeitraum of(LocalDateTime anfang, Duration dauer)
      Erstellt einen Zeitraum unter Angabe des Anfangs und der Dauer als Duration des Zeitraums. Zur Bestimmung des Endes wird die Dauer zum Anfang hinzuaddiert. Als Zeitzone für Anfang und Ende wird Default-Zeitzone verwendet.
      Parameters:
      anfang - der Anfang des Zeitraums inklusive, nicht null
      dauer - die Dauer des Zeitraums, nicht negativ, nicht null
      Returns:
      ein Zeitraum mit Anfang und Dauer
      Throws:
      DateTimeException - wenn die Dauer negativ ist
    • of

      public static Zeitraum of(LocalDateTime anfang, Period dauer)
      Erstellt einen Zeitraum unter Angabe des Anfangs und der Dauer als Period des Zeitraums. Zur Bestimmung des Endes wird die Dauer zum Anfang hinzuaddiert. Als Zeitzone für Anfang und Ende wird Default-Zeitzone verwendet.
      Parameters:
      anfang - der Anfang des Zeitraums inklusive, nicht null
      dauer - die Dauer des Zeitraums, nicht negativ, nicht null
      Returns:
      ein Zeitraum mit Anfang und Dauer
      Throws:
      DateTimeException - wenn die Dauer negativ ist
    • of

      public static Zeitraum of(LocalDate anfang, LocalDate ende)
      Erstellt einen Zeitraum unter Angabe von Start und Ende des Zeitraums.
      Parameters:
      anfang - der Anfang des Zeitraums inklusive, nicht null
      ende - das Ende des Zeitraums exklusive, nicht null
      Returns:
      ein Zeitraum mit Start und Ende gesetzt
    • of

      public static Zeitraum of(LocalDate anfang, Period dauer)
      Erstellt einen Zeitraum unter Angabe des Anfangs und der Dauer als Period des Zeitraums. Zur Bestimmung des Endes wird die Dauer zum Anfang hinzuaddiert.
      Parameters:
      anfang - der Anfang des Zeitraums inklusive, nicht null
      dauer - die Dauer des Zeitraums, nicht negativ, nicht null
      Returns:
      ein Zeitraum mit Anfang und Dauer
      Throws:
      DateTimeException - wenn die Dauer negativ ist
    • of

      public static Zeitraum of(LocalTime anfang, LocalTime ende)
      Erstellt einen Zeitraum unter Angabe des Anfangs und des Endes als LocalTime des Zeitraums. Ein solcher Zeitraum enthält eine reine Zeitdauer und ist unabhängig von einem Datum. Liegt die Anfangszeit nach der Endzeit, geht der Zeitraum über den Tageswechsel.
      Parameters:
      anfang - der Anfang des Zeitraums, nicht null
      ende - das Ende des Zeitraums, nicht null
      Returns:
      ein Zeitraum mit Start und Ende gesetzt
    • of

      public static Zeitraum of(LocalTime anfang, Duration dauer)
      Erstellt einen Zeitraum unter Angabe des Anfangs und der Dauer als Duration des Zeitraums. Zur Bestimmung des Endes wird die Dauer zum Anfang hinzuaddiert. Ein solcher Zeitraum enthält eine reine Zeitdauer und ist unabhängig von einem Datum.
      Parameters:
      anfang - der Anfang des Zeitraums inklusive, nicht null
      dauer - die Dauer des Zeitraums, nicht negativ, nicht null
      Returns:
      ein Zeitraum mit Anfang und Dauer
      Throws:
      DateTimeException - wenn die Dauer negativ ist
    • parse

      public static Zeitraum parse(String text)
      Parst einen String und erstellt daraus einen Zeitraum.

      Folgende Eingaben im Format "<1. Wert>, <2. Wert>" sind möglich:

      1. Wert2. WertBeispiel
      DatumswerDatumswert12.7.2017 14:00, 13.09.2018 19:00
      DatumswertDauer12.8.2013, 14 d
      ZeitwertZeitwert13:40:00, 15:45:12
      ZeitwertDauer12:00, 90min 15s
      Parameters:
      text - der Text, der geparst werden soll, nicht null
      Returns:
      der Zeitraum
    • dauer

      public long dauer(TemporalUnit unit)
      Gibt die Dauer des Zeitraums in der angegebenen Zeiteinheit (TemporalUnit) zurück.
      Parameters:
      unit - die Zeiteinheit für die Dauer
      Returns:
      die Dauer des Zeitraums in der angegeben Zeiteinheit
    • isInZeitraum

      public boolean isInZeitraum(ZonedDateTime dateTime)
      Prüft, ob ein Datums-/Zeitwert innerhalb dieses Zeitraum liegt.
      Parameters:
      dateTime - der Datums-/Zeitwert
      Returns:
      true wenn der Wert innerhalb des Zeitraums liegt.
    • isInZeitraum

      public boolean isInZeitraum(LocalDateTime dateTime)
      Prüft, ob ein Datums-/Zeitwert innerhalb dieses Zeitraum liegt. Als Zeitzone wird die Default-Zeitzone verwendet.
      Parameters:
      dateTime - der Datums-/Zeitwert
      Returns:
      true wenn der Wert innerhalb des Zeitraums liegt.
    • isInZeitraum

      public boolean isInZeitraum(LocalDate date)
      Prüft, ob ein Datumswert innerhalb dieses Zeitraum liegt. Als Zeit für das Datum wird 00:00 in der Default-Zeitzone angenommen.
      Parameters:
      date - der Datumswert
      Returns:
      true wenn der Wert innerhalb des Zeitraums liegt.
    • isInZeitraum

      public boolean isInZeitraum(LocalTime localTime)
      Prüft, ob ein Zeitwert innerhalb dieses Zeitraum liegt.
      Parameters:
      localTime - der Datumswert
      Returns:
      true wenn der Wert innerhalb des Zeitraums liegt.
    • ueberschneidetSichMit

      public boolean ueberschneidetSichMit(Zeitraum zeitraum)
      Prüft, ob sich zwei Zeiträume überschneiden. Ist einer der beiden Zeiträume ohne Datum, ist das Ergebnis immer false.
      Parameters:
      zeitraum - der andere Zeitraum
      Returns:
      true wenn sich die Zeiträume überschneiden, false wenn nicht ohne einer der beiden Zeiträume ohne Datum ist
    • isOhneDatum

      public boolean isOhneDatum()
      Gibt true zurück, wenn dieser Zeitraum nur eine Zeit enthält und unabhängig von einem Datum ist.
      Returns:
      true, wenn der Zeitraum ohne Datum ist
    • getAnfangsdatumzeit

      public ZonedDateTime getAnfangsdatumzeit()
      Gibt den Anfang dieses Zeitraums zurück. Handelt es sich um einen Zeitraum ohne Datum, wird null zurückgegeben. Für Zeiträume ohne Datum ist die Methode getAnfangszeit() zu verwenden.
      Returns:
      der Anfang des Zeitraums als ZonedDateTime,
    • getEndedatumzeit

      public ZonedDateTime getEndedatumzeit()
      Gibt das Ende dieses Zeitraums (exklusive) zurück. Handelt es sich um einen Zeitraum ohne Datum, wird null zurückgegeben. Für Zeiträume ohne Datum ist die Methode getEndzeit() zu verwenden.
      Returns:
      das Ende dieses Zeitraums (exklusive)
    • getAnfangszeit

      public LocalTime getAnfangszeit()
      Gibt die Anfangszeit des Zeitraums zurück.
      Returns:
      die Anfangszeit des Zeitraums.
    • getEndzeit

      public LocalTime getEndzeit()
      Gibt die Endzeit des Zeitraums zurück.
      Returns:
      die Endzeit des Zeitraums.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Gibt eine String-Repräsentation der Form "<Anfang> - <Ende>" des Zeitraums zurück.
      Overrides:
      toString in class Object
      Returns:
      eine String-Repräsentation des Zeitraums