AFW.Util.dateRange: Datumsbereiche in womodo 7.5.3

26. März 2018

Immer wieder stehen wir in Projekten vor der Aufgabe, einen Datumsbereich auszugeben. Etwa 

WM 2018
14. Juni 2018 bis 15. Juli 2018

Oder auch 

Eröffnungsspiel
14. Juni 2018 18:00 Uhr bis 14. Juni 2018 20:00 Uhr

Diese beiden Datumsbereiche wären leichter lesbar, wenn gleiche Jahre, Monate und Tage wie folgt berücksichtigt würden:

WM 2018
14. Juni bis 15. Juli 2018
Eröffnungsspiel
14. Juni 2018, 18:00 bis 20:00 Uhr

Und weil wir es hassen, immer die gleichen Probleme lösen zu müssen, haben wir nun für genau diesen Anwendungsfall in womodo 7.5.3 die Utility Methode

AFW.Util.dateRange(startdate, enddate)

implementiert. Sie prüft intelligent, ob Jahr, Monat und/oder Tag der beiden Datumswerte übereinstimmen und gibt eine optimal lesbare Beschreibung aus:

  • Wenn die Jahre übereinstimmen, wird das Jahr nur einmal ausgegeben.
  • Wenn Jahre und Monate übereinstimmen, wird Monat und Jahr nur einmal ausgegeben.
  • Wenn Jahr, Monat und Tag übereinstimmen, wird das Datum und die Uhrzeiten ausgegeben.
  • In allen anderen Fällen werden beide Datumswerte komplett ausgegeben.

Zusammen mit den bereits bestehenden Datumsfunktionen

  • AFW.Util.timeElapsed(date)
    ... für Ausgaben der Form "heute / gestern / letzte 7 Tage / letzte 30 Tage"
  • AFW.Util.dateGroup(date)
    ... für Ausgaben der Form "gerade eben / vor x Minuten / vor x Stunden / vor x Tagen"

bietet womodo damit ein Pool von nützlichen Datumsfunktionen, die in Projekten genutzt werden können, ohne das Rad jedesmal neu erfinden zu müssen.