Glioggetti sono fantastici! La loro flessibilità, unita alla velocità e all’eleganza, li rende la prima scelta per la maggior parte degli sviluppatori. L’uso delle date all’interno degli oggetti è ora più semplice e intuitivo. D’ora in poi, le date possono essere impostate come date e non come stringhe all’interno degli oggetti!
Come funziona?
Per utilizzare le date all’interno degli oggetti, è sufficiente selezionare l’impostazione di compatibilità “Usa il tipo di data invece del formato ISO negli oggetti” nelle Impostazioni del database.
Una volta fatto questo, OB SET e OB Get funzionano senza richiedere la costante is date.
OB SET ($myObject; "myDate";$date)
$date :=OB Get ($myObject; "myDate")
Anche la notazione a oggetti funziona! Date un’occhiata:
$myObject.myDate:=$date
$date :=$myObject.myDate
Stringere e analizzare
La compatibilità è mantenuta
Prima di 4D v16 R6, quando si chiamava il comando JSON Stringify gli oggetti contenenti date venivano sistematicamente “stringati” secondo la normalizzazione ISO 8601 nel seguente formato “YYYY-MM-DDThhmmss.sssZ” . L’operazione inversa, JSON Parsenon interpretava questo formato per impostazione predefinita e quindi produceva una stringa.
Cosa c’è di nuovo?
Se l’opzione di compatibilità nelle Impostazioni del database è selezionata, le date saranno formattate semplicemente come “YYYY-MM-DD” (sempre secondo lo standard ISO 8601) quando si chiama il comando JSON stringify . Quando si utilizza JSON Parsequesta stringa verrà impostata come data (e non come stringa) all’interno dell’oggetto!
Cambiare modalità in modo dinamico
Se necessario, questa impostazione predefinita può essere modificata programmando con il comando SET DATABASE PARAMETER e il selettore Dates inside object.
Ricordiamo che: SET DATABASE PARAMETER(Dates inside object;option) è locale al processo corrente.
I tre valori possibili per questo option sono ora:
- String type without time zone (precedentemente noto come ignora il fuso orario locale)
- String type with time zone (precedentemente noto come ” tieni conto del fuso orario“)
- Date type (nuovo!)
Di conseguenza, quando si importano dati JSON in 4D, è ora possibile cambiare dinamicamente il formato delle date.