

Para obtener capacidades similares a las de Amazon Timestream, considere Amazon Timestream LiveAnalytics para InfluxDB. Ofrece una ingesta de datos simplificada y tiempos de respuesta a las consultas en milisegundos de un solo dígito para realizar análisis en tiempo real. Obtenga más información [aquí](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Funciones de fecha y hora
<a name="date-time-functions"></a>

**nota**  
Timestream for no LiveAnalytics admite valores de tiempo negativos. Cualquier operación que dé como resultado un tiempo negativo genera un error.

Timestream for LiveAnalytics utiliza la zona horaria UTC para la fecha y la hora. Timestream admite las siguientes funciones de fecha y hora:

**Topics**
+ [Funciones generales y de conversión](#date-time-functions-general)
+ [Intervalo y duración](#date-time-functions-interval-duration)
+ [Formato y análisis](#date-time-functions-formatting-parsing)
+ [Extracción](#date-time-functions-extraction)

## Funciones generales y de conversión
<a name="date-time-functions-general"></a>

Timestream for LiveAnalytics admite las siguientes funciones generales y de conversión de fecha y hora.


| Función | Tipo de datos de salida | Description (Descripción) | 
| --- | --- | --- | 
|  current\$1date  |  date  |  Devuelve la fecha actual en UTC. No se usan paréntesis. <pre>SELECT current_date</pre> Ejemplo de resultado: `2022-07-07`  También es una palabra clave reservada. Para obtener una lista de palabras clave reservadas, consulte [Palabras clave reservadas](ts-limits.md#limits.reserved).   | 
|  current\$1time  |  hora  |  Devuelve la hora actual en UTC. No se usan paréntesis. <pre>SELECT current_time</pre> Ejemplo de resultado: `17:41:52.827000000`  También es una palabra clave reservada. Para obtener una lista de palabras clave reservadas, consulte [Palabras clave reservadas](ts-limits.md#limits.reserved).   | 
|  current\$1timestamp o now()  |  timestamp  |  Devuelve la marca de tiempo actual en UTC. <pre>SELECT current_timestamp</pre> Ejemplo de resultado: `2022-07-07 17:42:32.939000000`  También es una palabra clave reservada. Para obtener una lista de palabras clave reservadas, consulte [Palabras clave reservadas](ts-limits.md#limits.reserved).   | 
|  current\$1timezone()  |  varchar El valor será “UTC”.  |  Timestream usa la zona horaria UTC para la fecha y la hora. <pre>SELECT current_timezone()</pre> Ejemplo de resultado: `UTC`  | 
|  date(varchar(x)), date(marca de tiempo)  |  date  |  <pre>SELECT date(TIMESTAMP '2022-07-07 17:44:43.771000000')</pre> Ejemplo de resultado: `2022-07-07`  | 
|  last\$1day\$1of\$1month(marca de tiempo), last\$1day\$1of\$1month(fecha)  |  date  |  <pre>SELECT last_day_of_month(TIMESTAMP '2022-07-07 17:44:43.771000000')</pre> Ejemplo de resultado: `2022-07-31`  | 
|  from\$1iso8601\$1timestamp(cadena)  |  timestamp  |  Analiza la marca de tiempo ISO 8601 en un formato de marca de tiempo interno. <pre>SELECT from_iso8601_timestamp('2022-06-17T08:04:05.000000000+05:00')</pre> Ejemplo de resultado: `2022-06-17 03:04:05.000000000`  | 
|  from\$1iso8601\$1date(cadena)  |  date  |  Analiza la cadena de fecha ISO 8601 para convertirla en un formato de marca de tiempo interno para las 00:00:00 UTC de la fecha especificada. <pre>SELECT from_iso8601_date('2022-07-17')</pre> Ejemplo de resultado: `2022-07-17`  | 
|  to\$1iso8601(marca de tiempo), to\$1iso8601(fecha)  |  varchar  |  Devuelve una cadena con formato ISO 8601 para la entrada. <pre>SELECT to_iso8601(from_iso8601_date('2022-06-17'))</pre> Ejemplo de resultado: `2022-06-17`  | 
|  from\$1milliseconds(bigint)  |  timestamp  |  <pre>SELECT from_milliseconds(1)</pre> Ejemplo de resultado: `1970-01-01 00:00:00.001000000`  | 
|  from\$1nanoseconds(bigint)  |  timestamp  |  <pre>select from_nanoseconds(300000001)</pre> Ejemplo de resultado: `1970-01-01 00:00:00.300000001`  | 
|  from\$1unixtime (doble)  |  timestamp  |  Devuelve una marca de tiempo que corresponde al unixtime proporcionado. <pre>SELECT from_unixtime(1)</pre> Ejemplo de resultado: `1970-01-01 00:00:01.000000000`  | 
|  localtime  |  hora  |  Devuelve la hora actual en UTC. No se usan paréntesis. <pre>SELECT localtime</pre> Ejemplo de resultado: `17:58:22.654000000`  También es una palabra clave reservada. Para obtener una lista de palabras clave reservadas, consulte [Palabras clave reservadas](ts-limits.md#limits.reserved).   | 
|  localtimestamp  |  timestamp  |  Devuelve la marca de tiempo actual en UTC. No se usan paréntesis. <pre>SELECT localtimestamp</pre> Ejemplo de resultado: `2022-07-07 17:59:04.368000000`  También es una palabra clave reservada. Para obtener una lista de palabras clave reservadas, consulte [Palabras clave reservadas](ts-limits.md#limits.reserved).   | 
|  to\$1milliseconds(intervalo de un día a un segundo), to\$1milliseconds(marca de tiempo)  |  bigint  |  <pre>SELECT to_milliseconds(INTERVAL '2' DAY + INTERVAL '3' HOUR)</pre> Ejemplo de resultado: `183600000` <pre>SELECT to_milliseconds(TIMESTAMP '2022-06-17 17:44:43.771000000')</pre> Ejemplo de resultado: `1655487883771`  | 
|  to\$1nanoseconds(intervalo de un día a un segundo), to\$1nanoseconds(marca de tiempo)  |  bigint  |  <pre>SELECT to_nanoseconds(INTERVAL '2' DAY + INTERVAL '3' HOUR)</pre> Ejemplo de resultado: `183600000000000` <pre>SELECT to_nanoseconds(TIMESTAMP '2022-06-17 17:44:43.771000678')</pre> Ejemplo de resultado: `1655487883771000678`  | 
|  to\$1unixtime(marca de tiempo)  |  double  |  Devuelve unixtime para la marca de tiempo proporcionada. <pre>SELECT to_unixtime('2022-06-17 17:44:43.771000000')</pre> Ejemplo de resultado: `1.6554878837710001E9`  | 
|  date\$1trunc(unidad, marca de tiempo)  |  timestamp  |  Devuelve la marca de tiempo truncada a la unidad, donde la unidad puede ser una de las siguientes: [segundo, minuto, hora, día, semana, mes, trimestre o año]. <pre>SELECT date_trunc('minute', TIMESTAMP '2022-06-17 17:44:43.771000000')</pre> Ejemplo de resultado: `2022-06-17 17:44:00.000000000`  | 

## Intervalo y duración
<a name="date-time-functions-interval-duration"></a>

Timestream for LiveAnalytics admite las siguientes funciones de intervalo y duración para la fecha y la hora.


| Función | Tipo de datos de salida | Description (Descripción) | 
| --- | --- | --- | 
|  date\$1add(unidad, bigint, fecha), date\$1add(unidad, bigint, hora), date\$1add(varchar (x), bigint, marca de tiempo)  |  timestamp  |  Añade un bigint de unidades, donde la unidad es una de las siguientes: [segundo, minuto, hora, día, semana, mes, trimestre o año]. <pre>SELECT date_add('hour', 9, TIMESTAMP '2022-06-17 00:00:00')</pre> Ejemplo de resultado: `2022-06-17 09:00:00.000000000`  | 
|  date\$1diff(unidad, fecha, fecha), date\$1diff(unidad, hora, hora), date\$1diff(unidad, marca de tiempo, marca de tiempo)  |  bigint  |  Devuelve una diferencia, donde la unidad es una de las siguientes: [segundo, minuto, hora, día, semana, mes, trimestre o año]. <pre>SELECT date_diff('day', DATE '2020-03-01', DATE '2020-03-02')</pre> Ejemplo de resultado: `1`  | 
|  parse\$1duration(cadena)  |  intervalo  |  Analiza la cadena de entrada para devolver un `interval` equivalente. <pre>SELECT parse_duration('42.8ms')</pre> Ejemplo de resultado: `0 00:00:00.042800000` <pre>SELECT typeof(parse_duration('42.8ms'))</pre> Ejemplo de resultado: `interval day to second`  | 
| bin(marca de tiempo, intervalo) | timestamp |  Redondea el valor entero del parámetro `timestamp` al múltiplo más cercano del valor entero del parámetro `interval`. El significado de este valor devuelto puede no ser obvio. Se calcula mediante aritmética de enteros, donde se divide primero el entero de la marca de tiempo por el entero del intervalo y, a continuación, se multiplica el resultado por el entero del intervalo. Si se tiene en cuenta que una marca de tiempo especifica un punto UTC en el tiempo como el número de fracciones de segundo que han transcurrido desde la época POSIX (1 de enero de 1970), el valor devuelto rara vez se alineará con las unidades del calendario. Por ejemplo, si especifica un intervalo de 30 días, todos los días transcurridos desde la época se dividen en incrementos de 30 días y se devuelve el inicio del incremento de 30 días más reciente, que no tiene relación con los meses naturales. Estos son algunos ejemplos: <pre>bin(TIMESTAMP '2022-06-17 10:15:20', 5m)     ==> 2022-06-17 10:15:00.000000000<br />bin(TIMESTAMP '2022-06-17 10:15:20', 1d)     ==> 2022-06-17 00:00:00.000000000<br />bin(TIMESTAMP '2022-06-17 10:15:20', 10day)  ==> 2022-06-17 00:00:00.000000000<br />bin(TIMESTAMP '2022-06-17 10:15:20', 30day)  ==> 2022-05-28 00:00:00.000000000</pre>  | 
|  ago(intervalo)  |  timestamp  |  Devuelve el valor correspondiente al `interval` current\$1timestamp. <pre>SELECT ago(1d)</pre> Ejemplo de resultado: `2022-07-06 21:08:53.245000000`  | 
|  Literales de intervalo como 1h, 1d y 30m  |  intervalo  |  Los literales de intervalo son útiles para parse\$1duration(cadena). Por ejemplo, `1d` es igual que `parse_duration('1d')`. Esto permite el uso de los literales siempre que se utilice un intervalo. Por ejemplo, `ago(1d)` y `bin(<timestamp>, 1m)`.  | 

Algunos literales de intervalo actúan como forma abreviada de parse\$1duration. Por ejemplo, `parse_duration('1day')`, `1day`, `parse_duration('1d')` y `1d` devuelven individualmente `1 00:00:00.000000000` de tipo `interval day to second`. Se permite el espacio en el formato que se proporciona a `parse_duration`. Por ejemplo, `parse_duration('1day')` también devuelve `00:00:00.000000000`. Pero `1 day` no es un intervalo literal.

Las unidades correspondientes a `interval day to second` son ns, nanosegundo, us, microsegundo, ms, milisegundo, s, segundo, m, minuto, h, hora, d y día.

También hay `interval year to month`. Las unidades relacionadas con el intervalo de año a mes son y, año, y mes. Por ejemplo, `SELECT 1year` devuelve `1-0`. `SELECT 12month` también devuelve `1-0`. `SELECT 8month`devuelve `0-8`.

Aunque la unidad de `quarter` también está disponible para algunas funciones, como `date_trunc` y `date_add`, `quarter` no está disponible como parte de un intervalo literal.

## Formato y análisis
<a name="date-time-functions-formatting-parsing"></a>

Timestream for LiveAnalytics admite las siguientes funciones de formato y análisis de fecha y hora.


| Función | Tipo de datos de salida | Description (Descripción) | 
| --- | --- | --- | 
|  date\$1format(timestamp, varchar (x))  |  varchar  |  [Para obtener más información sobre los especificadores de formato utilizados por esta función, consulte \$1 https://trino.io/docs/current/functions/datetime.html mysql-date-functions](https://trino.io/docs/current/functions/datetime.html#mysql-date-functions) <pre>SELECT date_format(TIMESTAMP '2019-10-20 10:20:20', '%Y-%m-%d %H:%i:%s')</pre> Ejemplo de resultado: `2019-10-20 10:20:20`  | 
|  date\$1parse(varchar (x), varchar (y))  |  timestamp  |  [Para obtener más información sobre los especificadores de formato utilizados por esta función, consulte \$1 https://trino.io/docs/current/functions/datetime.html mysql-date-functions](https://trino.io/docs/current/functions/datetime.html#mysql-date-functions) <pre>SELECT date_parse('2019-10-20 10:20:20', '%Y-%m-%d %H:%i:%s')</pre> Ejemplo de resultado: `2019-10-20 10:20:20.000000000`  | 
|  format\$1datetime(timestamp, varchar (x))  |  varchar  |  Para obtener más información sobre la cadena de formato utilizada por esta función, consulte [http://joda-time.sourceforge. net/apidocs/org/joda/time/format/DateTimeFormat.html](http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html) <pre>SELECT format_datetime(parse_datetime('1968-01-13 12', 'yyyy-MM-dd HH'), 'yyyy-MM-dd HH')</pre> Ejemplo de resultado: `1968-01-13 12`  | 
|  parse\$1datetime(varchar(x), varchar(y))  |  timestamp  |  Para obtener más información sobre la cadena de formato utilizada por esta función, consulte [http://joda-time.sourceforge. net/apidocs/org/joda/time/format/DateTimeFormat.html](http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html) <pre>SELECT parse_datetime('2019-12-29 10:10 PST', 'uuuu-LL-dd HH:mm z')</pre> Ejemplo de resultado: `2019-12-29 18:10:00.000000000`  | 

## Extracción
<a name="date-time-functions-extraction"></a>

Timestream for LiveAnalytics admite las siguientes funciones de extracción de fecha y hora. La función de extracción es la base de las demás funciones prácticas.


| Función | Tipo de datos de salida | Description (Descripción) | 
| --- | --- | --- | 
|  extract  |  bigint  |  Extrae un campo de una marca de tiempo, donde el campo es uno de los siguientes: [YEAR, QUARTER, MONTH, WEEK, DAY, DAY\$1OF\$1MONTH, DAY\$1OF\$1WEEK, DOW, DAY\$1OF\$1YEAR, DOY, YEAR\$1OF\$1WEEK, YOW, HOUR, MINUTE o SECOND]. <pre>SELECT extract(YEAR FROM '2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `2019`  | 
|  day(marca de tiempo), day(fecha), day(intervalo de un día a otro)  |  bigint  |  <pre>SELECT day('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `12`  | 
|  day\$1of\$1month(marca de tiempo), day\$1of\$1month(fecha), day\$1of\$1month(intervalo de día a segundo)  |  bigint  |  <pre>SELECT day_of_month('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `12`  | 
|  day\$1of\$1week(marca de tiempo), day\$1of\$1week(fecha)  |  bigint  |  <pre>SELECT day_of_week('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `6`  | 
|  day\$1of\$1year(marca de tiempo), day\$1of\$1year(fecha)  |  bigint  |  <pre>SELECT day_of_year('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `285`  | 
|  dow(marca de tiempo), dow(fecha)  |  bigint  |  Alias de day\$1of\$1week  | 
|  doy(marca de tiempo), doy(fecha)  |  bigint  |  Alias de day\$1of\$1year  | 
|  hour(marca de tiempo), hour(hora), hour(intervalo de día a segundo)  |  bigint  |  <pre>SELECT hour('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `23`  | 
|  millisecond(marca de tiempo), millisecond(hora), millisecond(intervalo de día a segundo)  |  bigint  |  <pre>SELECT millisecond('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `0`  | 
|  minute(marca de tiempo), minute(hora), minute(intervalo de día a segundo)  |  bigint  |  <pre>SELECT minute('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `10`  | 
|  month(marca de tiempo), month(fecha), month(intervalo de año a mes)  |  bigint  |  <pre>SELECT month('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `10`  | 
|  nanosecond(marca de tiempo), nanosecond(hora), nanosecond(intervalo de día a segundo)  |  bigint  |  <pre>SELECT nanosecond(current_timestamp)</pre> Ejemplo de resultado: `162000000`  | 
|  quarter(marca de tiempo), quarter(fecha)  |  bigint  |  <pre>SELECT quarter('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `4`  | 
|  second(marca de tiempo), second(hora), second(intervalo de día a segundo)  |  bigint  |  <pre>SELECT second('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `34`  | 
|  week(marca de tiempo), week(fecha)  |  bigint  |  <pre>SELECT week('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `41`  | 
|  week\$1of\$1year(marca de tiempo), week\$1of\$1year(fecha)  |  bigint  |  Alias de semana  | 
|  year(marca de tiempo), year(fecha), year(intervalo de año a mes)  |  bigint  |  <pre>SELECT year('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `2019`  | 
|  year\$1of\$1week(marca de tiempo), year\$1of\$1week(fecha)  |  bigint  |  <pre>SELECT year_of_week('2019-10-12 23:10:34.000000000')</pre> Ejemplo de resultado: `2019`  | 
|  yow(marca de tiempo), yow(fecha)  |  bigint  |  Alias de year\$1of\$1week  | 