Color scheme: Dark
You are here: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Office JSON » how-to » Datums- und Uhrzeitwerte lesen und schreiben

Datums- und Uhrzeitwerte lesen und schreiben

Sie lesen Datumswerte und Zeitstempel nach ISO 8601 (Profil nach RFC 3339) in VBA-Werte vom Typ Date und schreiben Date-Werte so, dass andere Systeme sie richtig lesen.

Lösungsüberblick

JSON kennt keinen Datumstyp; Datumswerte werden als Zeichenfolgen nach ISO 8601 übertragen. GetDate (und JValue.DateValue) werten sie aus. JDoc.DateZone legt fest, was mit einer Uhrzeit geschieht, die eine Zone trägt (Z, +02:00). Ein Date wird als ISO 8601 ohne Zone geschrieben.

Umsetzung

Dim doc As New JDoc
doc.LoadJson "{""due"": ""2026-09-25"", ""created"": ""2026-09-25T12:30:00Z""}"
 
Debug.Print doc.GetDate("$.due")          ' 25.09.2026
Debug.Print doc.GetDate("$.created")      ' 25.09.2026 14:30:00 in Central European Summer Time (jdzLocal)
 
doc.DateZone = jdzUtc
Debug.Print doc.GetDate("$.created")      ' 25.09.2026 12:30:00
 
doc.DateZone = jdzAsWritten
Debug.Print doc.GetDate("$.created")      ' 25.09.2026 12:30:00, zone ignored
 
doc.SetValue "$.shipped", Now             ' "2026-09-26T09:15:00" (no zone)
doc.SetValue "$.day", Date                ' "2026-09-26" (time 0 writes the date only)

Hinweise

  • jdzLocal (Standard) rechnet nach den Zeitzonenregeln von Windows um, einschließlich der Sommerzeit am jeweiligen Datum; der Wert lässt sich daher richtig mit Now() vergleichen.
  • Wählen Sie jdzUtc, wenn die Datenbank UTC speichert, und jdzAsWritten, wenn der Dienst Ortszeiten mit einer Zone schreibt, die so angezeigt werden sollen, wie sie geschrieben sind.
  • Ein Dienst, der UTC erwartet, braucht einen UTC-Wert: Rechnen Sie vor dem Schreiben um, denn ein VBA-Date hat keine Zone und wird so geschrieben, wie es ist.
  • Eine Zeichenfolge, die nicht ISO 8601 entspricht, löst jeTypeMismatch aus; mit Ersatzwert wird der Ersatzwert nur für einen fehlenden Pfad oder null zurückgegeben, nicht für ein fehlerhaftes Datum.

Verwandte Themen

de/wiki/msaccess/json/how-to/dates-and-time-zones.txt · Last modified: by Wolfgang van der Stille