Datum und Uhrzeit

Ein XLSForm kann Fragen vom Typ "date", "time" oder "dateTime" enthalten. Zur besseren Datenerfassung können diese Fragen mittels Aussehentypen gestylt werden.

Datums- und Uhrzeitangaben können Sie mit der Funktion format-date in der Spalte "calculation" von Fragen des Typs "date", "time" und "dateTime" formatieren. Weitere Informationen finden Sie unter Datumsformatierung.

Sie können die ArcGIS-Feldtypen, die Fragen des Typs "date" und "time" standardmäßig von Survey123 zugewiesen werden, in "Nur Datum", "Nur Zeit" und "Zeitstempelversatz" ändern und so die Zeiterfassung entsprechend anpassen. Weitere Informationen finden Sie unter Benutzerdefinierte Spalten von Esri.

Vorsicht:

In Survey123 Connect-Version 3.19 vom November 2023 oder früher können die Feldtypen "Nur Datum", "Nur Zeit" und "Zeitstempelversatz" nicht zugewiesen werden. Mit der Aktualisierung vom Februar 2024 für Survey123 Connect-Version 3.19 können diese Datentypen zwar in ArcGIS Enterprise 11.2 veröffentlicht werden, sie werden aber nicht vollständig unterstützt und ihre Verwendung in ArcGIS Enterprise-11.2-Web-Layern ist eine Funktionalität im Beta-Status.

Mit Fragen vom Typ "start" und "end" werden Start- und Enddatum sowie Start- und Endzeit des Survey automatisch erfasst. Daraus kann die zum Ausfüllen eines Survey benötigte Zeit berechnet werden.

UNIX- und Dezimalzeit

Es gibt zwei Möglichkeiten, Zeit in Survey123 darzustellen: UNIX-Zeit und Dezimalzeit. Die mobile Survey123-App unterstützt sowohl UNIX- als auch Dezimalzeit, während die Web-App ausschließlich Dezimalzeit unterstützt. Um sicherzustellen, dass Surveys in der mobilen App und in der Web-App konsistent funktionieren, müssen Sie für Zeitberechnungen Dezimalzeit verwenden.

UNIX- und Dezimalzeit sind verschiedene Arten der Zeitdarstellung. UNIX-Zeit ist als die Anzahl der Sekunden definiert, die seit Mitternacht (00:00:00) koordinierter Weltzeit (UTC) des 1. Januar 1970 verstrichen sind. ArcGIS speichert die Zeit in Millisekunden in UTC, sodass die mobile Survey123-App UNIX-Zeit in Millisekunden unterstützt. Dezimalzeit ist als die Anzahl der Tage definiert, die seit demselben Zeitpunkt verstrichen sind.

Normale DatumsangabeUNIX-ZeitDezimalzeit

Montag, 31. August 2015 09:00:00

1441011600000

16678,375

Dies ist wichtig, da die mobile Survey123-App sowohl UNIX- als auch Dezimalzeit, die Survey123-Web-App jedoch ausschließlich Dezimalzeit unterstützt. Wenn Ihr Survey im Web funktionieren muss (entweder eigenständig oder zusammen mit der mobilen App), müssen Sie einige Datumsangaben mittels Dezimalzeit berechnen. Dies ist insbesondere für die Berechnung einer Zeitdauer erforderlich, beispielsweise bei der Berechnung einer Anzahl von Tagen oder Sekunden oder bei Berechnungen, die die Addition oder Subtraktion von Datums- oder Uhrzeitangaben umfassen.

Verwenden Sie für diese Arten der Berechnung einen Wert im Dezimaldatumsformat, führen Sie die Berechnung durch, und konvertieren Sie das Ergebnis anschließend in einen Datumswert. Bei dieser Beispielgleichung wird ein von der Funktion now() zurückgegebenes Dezimaldatum konvertiert, dann werden 14 Tage hinzu addiert, und zuletzt wird das Ergebnis wieder in ein Datum umgewandelt.

date(decimal-date-time(now()) + 14)

Anschließend können Sie mit dem von dieser Funktion zurückgegebenen Datum ein Datum in Ihrem Survey aktualisieren oder als Teil Ihres Survey übermitteln.

Beim Addieren oder Subtrahieren von einem Datumswert müssen Sie Dezimaltage verwenden. In der nachfolgenden Tabelle werden die entsprechenden Werte von Dezimalzeit, lesbarer Zeit und UNIX-Zeit gegenübergestellt.

Normale DatumsangabeUNIX-ZeitDezimalzeit

1 Sekunde

1000

0,00001157407407 (1 / 24 / 60 / 60)

1 Minute

60000 (1000 * 60)

0,00069444444444 (1 / 24 / 60)

1 Stunde

3600000 (1000 * 60 * 60)

0,04166666666667 (1 / 24)

1 Tag

86400000 (1000 * 60 * 60 * 24)

1

1 Woche

604800000 (1000 * 60 * 60 * 24 * 7)

7

1 Monat

2630880000 (1000 * 60 * 60 * 24 * 30,45)

30,45

1 Jahr

31557600000 (1000 * 60 * 60 * 24 * 365,25)

365,25

Ändern von Unixzeit-basierten Berechnungen in Dezimalzeit-basierte Berechnungen

Wenn Sie über vorhandene Surveys verfügen, die mithilfe von Unixzeit-basierten Berechnungen erstellt wurden, müssen Sie sie in Dezimalzeit umwandeln, damit sie in der Survey123-Web-App ordnungsgemäß funktionieren. Nachfolgend sind einige Beispiele für Ausdrücke aufgeführt, die von UNIX-Zeit in Dezimalzeit umgewandelt wurden:

ZielUNIX-ZeitberechnungDezimalzeitberechnung

15 Minuten in die Zukunft

now() + 15 * 60 * 1000

date-time(decimal-date-time(now()) + 0.0104166675)

Zwei Wochen in die Zukunft

now() + 14 * 24 * 60 * 60 * 1000

date(decimal-date-time(now()) + 14)

Zeitaufwand für Mittagessen in Minuten

int(${LunchEnd} - ${LunchStart}) div (1000 * 60)

int((decimal-date-time(${lunchends}) - decimal-date-time(${lunchstarts})) * 24 * 60)

Alter ab Geburt berechnen (in Jahren)

int((today() - ${birth_date}) div (1000 * 24 * 60 * 60 * 365.25))

int((decimal-date-time(today()) - decimal-date-time(${birth_date})) div 365.25)

Nachdem Sie sich mit den für Ihren Survey erforderlichen Änderungen vertraut gemacht haben, wird die Aktualisierung folgendermaßen durchgeführt:

  1. Aktualisieren Sie in Survey123 Connect Unixzeit-basierte Berechnungen auf Dezimaldatums-basierte Berechnungen. Es wird empfohlen, zuvor eine Sicherungskopie des XLSForm zu speichern.
  2. Testen Sie die aktualisierten Berechnungen in der Survey123 Connect-Vorschau, um sicherzustellen, dass sie wie erwartet funktionieren.
  3. Veröffentlichen Sie den Survey erneut. Da Aktualisierungen von Berechnungen keine erneute Veröffentlichung des Feature-Layers auslösen, gehen dabei keine vorhandenen Daten verloren.
  4. Lassen Sie Außendienstmitarbeiter den Survey in der mobilen Survey123-App aktualisieren.