Date all’interno di oggetti!

Tradotto automaticamente da Deepl

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.

Roland Lannuzel
- Product Owner ed esperto di 4D - Dopo aver studiato elettronica, Roland è passato all'IT industriale come sviluppatore e consulente, realizzando soluzioni per i clienti con una varietà di database e tecnologie. Alla fine degli anni '80 si è innamorato di 4D e lo ha utilizzato per scrivere applicazioni aziendali che includono sistemi di contabilità, fatturazione e posta elettronica. Entrato a far parte dell'azienda nel 1997, Roland ha dato il suo prezioso contributo progettando specifiche, strumenti di test e demo, oltre a formare e parlare alla comunità 4D in occasione di numerose conferenze. Continua a plasmare attivamente il futuro di 4D definendo nuove funzionalità e strumenti di sviluppo di database.