Atomare Typen / Datum und Zeit

Datum und Zeit

Die Objekte für Zeit und Datum sind, ähnlich zu den atomaren Objekten, auch unveränderlich.
Wird z.B. der Monat eines Datums verändert, so entsteht ein neues Objekt.

Datum

Ein Datum-Objekt wird mit dem Objekt-Typ "Date" erzeugt. Dies kann mit oder ohne Argumente erfolgen:

Date     # Das heutige Datum
Date()   # Identisch mit der Zeile davor
Date( 2020, 3, 1 )    # Objekt für den 1.3.2020

Mit einem String können verschiedene Formate übergeben werden

Date( "01.03.2020" )
Date( "2020-03-01" )

Auslesen einzelner Werte:

d = Date
d.getDay.print
d.getMonth.print
d.getYear.print

Da mathematische Zeichen in JayMo auch nur Funktionen sind, wenn auch mit anderer Priorität, ist sogar folgendes möglich:

# Gibt das Datum von heute plus 5 Tage aus
Print Date + 5
# Die Variable 'd' bekommt hier das Datum von vorgestern zugewiesen
d = Date - 2
# Prüft, ob das heutige Datum größer oder gleich dem 1.1.2021 ist
Date >= Date( 2021, 1, 1 )

Zudem existieren natürlich auch alphanumerische Funktionen:

# Erzeugt ein neues Objekt von heute plus 3 Monate
Date.addMonth( 3 )
# Erzeugt ein neues Objekt mit heutigem Tag und Monat, allerdings im Jahr 2035
Date.setYear( 2035 )

Weitere Funktionen sind in der Referenz aufgelistet.

Zeit

Für eine Uhrzeit wird das Objekt "Time" verwendet:

# Objekt für die aktuelle Uhrzeit
Time
# Objekt für 12:34:56 Uhr
Time( 12, 34, 56 )

Das Auslesen erfolgt ähnlich zu Date:

t = Time
t.getHours.print
t.getMinutes.print
t.getSeconds.print

Ansonsten wird ein Time-Objekt ähnlich wie Date oder DateTime verwendet.

Zeitpunkt

Für Zeitpunkte existiert der Typ DateTime (= Datum + Zeit):

# Objekt für den aktuellen Zeitpunkt
DateTime
# Zeitpunkt für den 21.01.2020, 11:22:33 Uhr
DateTime( 2020, 1, 21, 11, 22, 33 )

Hier ist es auch möglich, eine Kopie vom Datum oder der Uhrzeit zu erhalten:

# Gibt ein Date-Objekt zurück
DateTime.getDate
# Gibt ein Time-Objekt zurück
DateTime.getTime

Das Auslesen der einzelnen Werte erfolgt über die jeweilige Funktion:

dt = DateTime
dt.getYear
dt.getMonth
dt.getDay
dt.getHour
dt.getMinutes
dt.getSeconds

Formatierte Ausgabe

Date, Time und DateTime lassen sich mit der Funktion ".format" individuell formatieren. Dafür wird ein Format-String mit Platzhaltern verwendet, die durch den jeweiligen Wert ersetzt werden.

Info:
Großbuchstaben stehen für Datum-Werte (Tag, Monat, ...), Kleinbuchstaben für Zeit-Werte (Stunde, Minute, ...)

Zeichen Attribut Länge Beispiel
Y Jahr 4 2020
YY Jahr 2 20
YYYY Jahr 4 2020
M Monat 1-2 1
MM Monat 2 01
D Tag 1-2 5
DD Tag 2 05
hh Stunden (24 Std.-Format) 2 08
h Stunden (24 Std.-Format) 1-2 8
ii Stunden (12 Std.-Format) 2 11
i Stunden (12 Std.-Format) 1-2 8
mm Minuten 2 09
m Minuten 1-2 9
ss Sekunden 2 07
s Sekunden 1-2 7
p AM/PM 2 PM

Damit ein Zeichen NICHT ersetzt wird, wird vor dem jeweiligen Buchstaben eine Tilde ('~') als Escape-Zeichen eingefügt:

Date.add( 1 ).format( "~Morgen ist der: DD.MM." ).print
- Powered by OghsWiki -

 

 

Unterstützen

Die Entwicklung von "JayMo" wird derzeit nur durch Eigeninitiative ermöglicht.

Erhalten:  0 €