Objekte sind großartig! Ihre Flexibilität, kombiniert mit Geschwindigkeit und Eleganz, machen sie zur ersten Wahl für die meisten Entwickler. Die Verwendung von Datumsangaben innerhalb von Objekten ist jetzt einfacher und intuitiver. Von nun an können Datumsangaben als Datumsangaben gesetzt werden – und nicht mehr als Strings innerhalb von Objekten!
Wie funktioniert das?
Um Datumsangaben in Objekten zu verwenden, aktivieren Sie einfach die Kompatibilitätseinstellung „Datumsart anstelle des ISO-Datumsformats in Objekten verwenden“ in den Datenbankeinstellungen.
Sobald dies geschehen ist, OB SET und OB Get funktionieren, ohne dass die Konstante is date benötigt wird.
OB SET ($myObject; "meinDatum";$date)
$date :=OB Get ($myObject; "meinDatum")
Die Objektnotation funktioniert auch! Schauen Sie sich das an:
$myObject.myDate:=$date
$date :=$myObject.myDate
Stringify und Parse
Kompatibilität wird beibehalten
Vor 4D v16 R6 wurden Objekte mit Datumsangaben beim Aufruf des JSON Stringify Objekte, die Datumsangaben enthielten, systematisch gemäß der ISO 8601-Normierung im folgenden Format „JJJJ-MM-DTThhmmss.sssZ“ „stringifiziert“. Die umgekehrte Operation, JSON Parseinterpretiert dieses Format standardmäßig nicht und erzeugt daher eine Zeichenkette.
Was ist neu?
Wenn die Kompatibilitätsoption in den Datenbankeinstellungen aktiviert ist, werden Datumsangaben einfach als „YYYY-MM-DD“ (immer noch nach dem ISO 8601-Standard) formatiert, wenn der JSON stringify Befehls. Bei Verwendung von JSON Parsewird diese Zeichenkette dann als Datum (und nicht als String) innerhalb des Objekts gesetzt!
Modus dynamisch ändern
Falls erforderlich, kann diese Standardeinstellung durch Programmierung mit dem SET DATABASE PARAMETER Befehl und dem Selektor Dates inside object geändert werden.
Zur Erinnerung: SET DATABASE PARAMETER(Dates inside object;option) ist lokal für den aktuellen Prozess.
Die drei möglichen Werte für diese option sind jetzt:
- String type without time zone (vorher bekannt als lokale Zeitzone ignorieren)
- String type with time zone (bisher bekannt als Zeitzone berücksichtigen)
- Date type (neu!)
Wenn Sie also JSON-Daten in 4D importieren, haben Sie jetzt die Möglichkeit, das Format für Datumsangaben dynamisch zu ändern.