Datum und Uhrzeit sind zwei Angaben, die in nahezu allen Geschäftsprozessen verwendet werden. In Scheer PAS BPaaS stehen daher verschiedene Möglichkeiten zur Verfügung, Daten und Zeiten auszuwählen, anzuzeigen und zu nutzen. Anhand einiger Beispiele wird auf dieser Seite die Verwendung von Datum, Uhrzeit und Zeitstempeln näher erläutert.
In Formularen stehen Ihnen vorkonfigurierte Datumsfelder zur Verfügung, deren Eigenschaften noch angepasst werden können. Das eingegebene Datum wird dabei immer als Zeitstempel in Millisekunden gespeichert.
Das Datumsfeld im Responsiven Formular kann bei der Ausführung über einen Kalender oder durch manuelle Eingabe eines Datums ausgefüllt werden. Das Format für die Anzeige des Datums ist frei wählbar (siehe Datumsformate). Vorgegeben ist das zur jeweiligen Sprache zugehörige Format. Wird kein eigenes Datumsformat definiert, muss die manuelle Eingabe des Datums der Logik der eingestellten Benutzersprache folgen:
Das Datumsfeld in einem Responsiven Formular bietet weitere Konfigurationsmöglichkeiten für die Anzeige des Datums:
Der gespeicherte Zeitstempel ist tagesgenau, der Millisekundenwert entspricht dem Tagesdatum mit der Uhrzeit 00:00 Uhr. |
Das Datumsfeld im Mobilen Formular verwendet die native Datumsauswahl des Betriebssystems des mobilen Endgeräts: Die Eingabe des Datums erfolgt über den bekannten Kalender des verwendeten Geräts. Das Format für die Anzeige des Datums ist frei wählbar (siehe Datumsformate). Wenn kein eigenes Datumsformat definiert wird, erfolgt die Ausgabe im Format yy-mm-dd. Das Datumsfeld in einem Mobilen Formular bietet weitere Konfigurationsmöglichkeiten für die Eingabe/Anzeige des Datums:
Der gespeicherte Zeitstempel ist tagesgenau, der Millisekundenwert entspricht dem Tagesdatum mit der Uhrzeit 00:00 Uhr. Wird die Option Uhrzeit für das Datumsfeld aktiviert, ist im Zeitstempel auch die eingegebene Uhrzeit enthalten. |
In den Eigenschaften der Datumsfelder können Sie im Feld Datumsformat bestimmen, in welchem Format ein eingegebenes Datum angezeigt werden soll. Die Verwendung von Platzhaltern und Füllzeichen ist für beide Elemente gleich.
Zeitstempel werden als Millisekundenwert gespeichert. Wird ein Zeitstempel im Container abgelegt, kann man über den Feldnamen im Container eines Formularfeldes auf den Wert zurückgreifen.
Für jede Instanz werden Metadaten gespeichert, in denen auch zwei Zeitstempel enthalten sind:
Auf diese beiden Zeitstempel haben Sie daher Zugriff und können diese in Formularen verwenden, zum Beispiel um damit Felder vorzubelegen.
Sie können über JavaScript-Code auch eigene Zeitstempel generieren.
Das Datum wird als Anzahl Millisekunden (long) seit dem 01.01.1970 gespeichert. Ein weiter zurückliegendes Datum hat demnach intern ein negatives Vorzeichen. Beachten Sie dies, wenn Sie Berechnungen mit Zeitstempeln anstellen möchten. |
In JavaScript wird das aktuelle Datum mit dem Aufruf new Date() ermittelt. Die Methode getTime() des Datumsobjekts liefert den Timestamp in Millisekunden. Der Wert des generierten Datumsobjekts soll im Container unter dem Bezeichner tagesdatum abgelegt werden:
// new Date() ermittelt das aktuelle Datum, getTime() liefert den Timestamp in Millisekunden: var timestamp = new Date().getTime(); // Der ermittelte Millisekundenwert wird in das Feld "tagesdatum" geschrieben: container.put('tagesdatum', timestamp); |
Bei der Ausführung wird der Zeitstempel angezeigt:
|
Möchte man einen Zeitstempel als Datum anzeigen, muss man den Millisekundenwert entsprechend formatieren. Datumsfelder sind bereits so vorkonfiguriert, dass sie einen Zeitstempel automatisch als Datum anzeigen. Das Ausgabeformat für einen Zeitstempel kann aber auch per JavaScript-Code definiert werden.
In einem Formular soll angezeigt werden, wann die Instanz erstellt wurde und wann sie zuletzt geändert wurde. Beide Informationen liegen im Container vor: Der Zeitstempel meta.createdAt wird bei der Anlage der Instanz gespeichert, der Zeitstempel meta.changedAt enthält die Information, wann die Instanz das letzte Mal geändert wurde.
Um im Eingabefeld Erstellt am den Zeitstempel meta.createdAt anzuzeigen, wird als Feldname im Container auf die Metainformation referenziert:
Im Feld Letzte Änderung wird analog dazu auf die Metainformation meta.changedAt referenziert. Da es sich bei Letzte Änderung um ein Datumsfeld handelt, wird im Feld Datumsformat direkt definiert, wie die Ausgabe des Zeitstempels auszusehen hat:
Metainformationen werden automatisch gespeichert und können nicht verändert werden. Wenn Sie auf meta.createdAt oder meta.changedAt referenzieren, aktivieren Sie die Feldeigenschaft Nur lesbar um sicher zu stellen, dass Anwender die Eingaben nicht verändern können. |
Bei der Ausführung des Formulars werden die beiden Felder mit den Zeitstempeln gefüllt:
Zeitstempel können auch mittels JavaScript-Code für eine benutzerfreundliche Anzeige im Formular formatiert werden. Dies ist zum Beispiel nützlich, wenn das Datum mit Uhrzeit angezeigt werden soll. Dafür bietet sich die Nutzung der Formularfunktionen an.
Beispiel: Ausgabe des Zeitstempels meta.createdAt mit Uhrzeit in drei Varianten
Der Zeitstempel meta.createdAt soll in drei verschiedenen Formaten angezeigt werden: Minutengenau, sekundengenau und millisekundengenau. In einem Formular werden dafür drei Felder angelegt. Die Felder werden so konfiguriert, dass der Inhalt nicht verändert werden kann:
|
In der Formularfunktion: Vor der Formularausführung wird der JavaScript-Code für die Formatierung des Zeitstempels abgespeichert:
//Datumsobjekt erzeugen var createdAt = container.get('meta.createdAt'); var createdAtDateObject = new Date(createdAt); //Minutengenaue Formatierung des Datumsobjekts var minutengenau = CM.formatDate(createdAtDateObject, 'DD.MM. YYYY um hh:mm Uhr'); container.put('minutengenau', minutengenau); //Sekundengenaue Formatierung des Datumsobjekts var sekundengenau = CM.formatDate(createdAtDateObject, 'DD.MM. YYYY um hh:mm:ss Uhr'); container.put('sekundengenau', sekundengenau); //Millisekundengenaue Formatierung des Datumsobjekts var millisekundengenau = CM.formatDate(createdAtDateObject, 'DD.MM. YYYY um hh:mm:ss:iii Uhr'); container.put('millisekundengenau', millisekundengenau); |
Bei der Ausführung des Formulars wird der Zeitstempel in den definierten Formatierungen angezeigt:
Die Beispiele mit JavaScript-Code können Sie in unserer Code-Bibliothek herunterladen. |