Los objetos son geniales. Su flexibilidad, combinada con la velocidad y la elegancia, los convierten en la primera opción para la mayoría de los desarrolladores. Utilizar las fechas dentro de los objetos es ahora más fácil e intuitivo. A partir de ahora, las fechas pueden establecerse como fechas – ¡y no como cadenas dentro de los objetos!
¿Cómo funciona?
Para utilizar las fechas dentro de los objetos, sólo hay que marcar la opción de compatibilidad «Utilizar el tipo de fecha en lugar del formato de fecha ISO en los objetos» en la Configuración de la base de datos.
Una vez hecho esto OB SET y OB Get funcionan sin requerir la constante is date.
OB SET ($myObject; "miFecha";$date)
$date :=OB Get ($myObject; "miFecha")
La notación de objetos también funciona. Echa un vistazo:
$myObject.myDate:=$date
$date :=$myObject.miFecha
Stringify y Parse
Se mantiene la compatibilidad
Antes de 4D v16 R6, al llamar al comando JSON Stringify los objetos que contenían fechas eran sistemáticamente «encadenados» según la normalización ISO 8601 en el siguiente formato «AAAA-MM-DDThhmmss.sssZ» . La operación inversa, JSON Parseno interpreta este formato por defecto y, por tanto, produce una cadena.
¿Qué hay de nuevo?
Si se marca la opción de compatibilidad en la Configuración de la base de datos, las fechas se formatearán simplemente como » AAAA-MM-DD» (siguiendo todavía la norma ISO 8601) al llamar al comando JSON stringify . Si se utiliza JSON Parseesta cadena se establecerá como una fecha (y no como una cadena) dentro del objeto.
Cambiar el modo dinámicamente
Si es necesario, esta configuración por defecto puede cambiarse programando con el comando SET DATABASE PARAMETER y el selector Dates inside object.
Recordatorio: SET DATABASE PARAMETER(Dates inside object;option) es local para el proceso actual.
Los tres valores posibles para este option son ahora:
- String type without time zone (antes conocido como ignorar la zona horaria local)
- String type with time zone (antes conocido como tener en cuenta la zona horaria)
- Date type (¡nuevo!)
Como resultado, cuando usted importa datos JSON en 4D, ahora tiene una manera de cambiar dinámicamente el formato de las fechas.