Daten in Objekten!

Automatisch übersetzt von Deepl

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.

Roland Lannuzel
- Product Owner & 4D Experte - Nach seinem Studium der Elektronik arbeitete Roland als Entwickler und Berater in der industriellen IT-Branche, wo er Lösungen für Kunden mit einer Vielzahl von Datenbanken und Technologien entwickelte. In den späten 80er Jahren verliebte er sich in 4D und setzte es bei der Entwicklung von Geschäftsanwendungen wie Buchhaltungs-, Abrechnungs- und E-Mail-Systemen ein. 1997 trat er schließlich in das Unternehmen ein und leistete einen wertvollen Beitrag, indem er Spezifikationen, Testtools und Demos entwarf, Schulungen durchführte und auf vielen Konferenzen für die 4D Community sprach. Er gestaltet die Zukunft von 4D aktiv mit, indem er neue Funktionen und Datenbankentwicklungstools definiert.