Tipos de datos data-types

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.

string 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)x2 1023
  • 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("2024-02-19T00.00.000")
date("2024-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("2024-02-19T00.00.000Z")
toDateTime("1977-04-22T06:00:00Z")
toDateTime("2023-12-03T15:15:30Z")
toDateTime("2023-12-03T15:15:30.123Z")
toDateTime("2023-12-03T15:15:30.123+02:00")
toDateTime("2023-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)]
recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76