Tipos de datos concept_gp3_rj5_dgb
Técnicamente, una constante siempre contiene un tipo de datos. En la expresión literal, solo se especifica el valor. El tipo de datos se puede inferir del valor (por ejemplo, cadena, entero, decimal, etc.). Para casos específicos como la fecha y la hora, utilizamos funciones dedicadas para la representación.
Las secciones siguientes proporcionan información sobre las diferentes expresiones de tipo de datos y cómo se representan.
cadena string
Descripción
Secuencia común de caracteres. No tiene ningún tamaño específico, excepto el implícito que proviene del entorno, como la cantidad de memoria disponible.
Formato JSON: String
Formato de serialización: UTF-8
Representación literal
"<value>"
'<value>'
Ejemplo
"hello world"
'hello world'
entero integer
Descripción
Valor entero entre -2^63 y 2^63-1.
Formato JSON: número
Representación literal
<integer value>
Ejemplo
42
decimal decimal
Descripción
Número decimal. Representa un valor flotante:
- mayor valor finito positivo de tipo doble, (2-2-52)x21023
- el menor valor normal positivo del tipo doble, 2-1022
- el menor valor positivo distinto de cero del tipo double, 2 p-1074
Formato JSON: número
Formato de serialización: usando '.' como separador decimal.
Representación literal
<integer value>.<integer value>
Ejemplo
3.14
Booleano boolean
Descripción
Valor booleano escrito en minúsculas: true o false
Formato JSON: booleano
Representación literal
true
false
Ejemplo
true
dateOnly date-only
Descripción
Representa solo una fecha sin una zona horaria, vista como un año-mes-día.
Es una descripción de la fecha, tal como se utiliza para los cumpleaños.
Formato JSON: String.
El formato es: AAAA-MM-DD (ISO-8601), por ejemplo: "2021-03-11".
Se puede encapsular en una función toDateOnly.
Utiliza DateTimeFormatter ISO_LOCAL_DATE_TIME para deserializar y serializar el valor. Más información
Representación literal
date("<dateOnly in ISO-8601 format>")
Ejemplo
date("2021-02-19")
dateTimeOnly date-time-only
Descripción
Representa una fecha y hora sin una zona horaria, vista como año-mes-día-hora-minuto-segundo-milisegundo.
Formato JSON: String.
No almacena ni representa una zona horaria. En su lugar, es una descripción de la fecha, como se utiliza para los cumpleaños, combinada con la hora local, como se ve en un reloj de pared.
No puede representar un instante en la línea de tiempo sin información adicional, como un desplazamiento o una zona horaria.
Se puede encapsular en una función toDateTimeOnly.
Formato de serialización: formato de fecha y hora de desplazamiento extendido ISO-8601.
Utiliza DateTimeFormatter ISO_LOCAL_DATE_TIME para deserializar y serializar el valor. Más información
Representación literal
date("<dateTimeOnly in ISO-8601 format>")
Ejemplos
date("2021-02-19T00.00.000")
date("2021-02-19T00.00")
dateTime date-time
Descripción
Constante de fecha y hora que también considera la zona horaria. Representa una fecha y hora con un desplazamiento con respecto a UTC.
Se puede ver como un instante en el tiempo con la información adicional del offset. Es una manera de representar un "momento" específico en un determinado lugar del mundo.
Formato JSON: String.
Se puede encapsular en una función toDateTime.
Formato de serialización: formato de fecha y hora de desplazamiento extendido ISO-8601.
Utiliza DateTimeFormatter ISO_OFFSET_DATE_TIME para deserializar y serializar el valor. Más información
También puede pasar un entero que pase un valor epoch. Más información
La zona horaria se puede especificar mediante un desplazamiento o un código de zona horaria (por ejemplo: Europa/París, Z - que significa UTC).
Representación literal
toDateTime("<dateTime in ISO-8601 format>")
date("<dateTime in ISO-8601 format>")
toDateTime(<integer value of an epoch in milliseconds>)
Ejemplos
date("2021-02-19T00.00.000Z")
toDateTime("1977-04-22T06:00:00Z")
toDateTime("2011-12-03T15:15:30Z")
toDateTime("2011-12-03T15:15:30.123Z")
toDateTime("2011-12-03T15:15:30.123+02:00")
toDateTime("2011-12-03T15:15:30.123-00:20")
toDateTime(1560762190189)
duration duration
Descripción
Representa una cantidad de tiempo basada en el tiempo, como "34,5 segundos". Modela una cantidad o cantidad de tiempo en términos de milisegundos.
Las unidades temporales admitidas son: milisegundos, segundos, minutos, horas, días en los que un día es igual a 24 horas. No se admiten años y meses porque no son una cantidad de tiempo fija.
Formato JSON: String.
Debe encapsularse en una función toDuration.
Formato de serialización: para deserializar un ID de zona horaria, se utiliza la función java java.time.
Duration.parse: los formatos aceptados se basan en el formato de duración ISO-8601 PnDTnHnMn.nS con días considerados exactamente 24 horas. Más información
Representación literal
toDuration("<duration in ISO-8601 format>")
toDuration(<duration in milliseconds>)
Ejemplo
toDuration("PT5S") -- parses as 5 seconds
toDuration(500) -- parses as 500ms
toDuration("PT20.345S") -- parses as "20.345 seconds"
toDuration("PT15M") -- parses as "15 minutes" (where a minute is 60 seconds)
toDuration("PT10H") -- parses as "10 hours" (where an hour is 3600 seconds)
toDuration("P2D") -- parses as "2 days" (where a day is 24 hours or 86400 seconds)
toDuration("P2DT3H4M") -- parses as "2 days, 3 hours and 4 minutes"
toDuration("P-6H3M") -- parses as "-6 hours and +3 minutes"
toDuration("-P6H3M") -- parses as "-6 hours and -3 minutes"
toDuration("-P-6H+3M") -- parses as "+6 hours and -3 minutes"
list list
Descripción
Lista separada por comas de expresiones con corchetes como delimitadores.
No se admite el polimorfismo, por lo que todas las expresiones contenidas en la lista deben tener el mismo tipo.
Representación literal
[<expression>, <expression>, ... ]
Ejemplo
["value1","value2"]
[3,5]
[toDuration(500),toDuration(800)]