Compartir a través de


Aritmética datetime/timespan

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Kusto admite la realización de operaciones aritméticas en valores de tipos datetime y timespan.

Operaciones compatibles

  • Uno puede restar (pero no agregar) dos datetime valores para obtener un timespan valor que expresa su diferencia. Por ejemplo, datetime(1997-06-25) - datetime(1910-06-11) es la antigüedad Jacques-Yves Cousteau cuando murió.

  • Uno puede agregar o restar dos timespan valores para obtener un timespan valor que es su suma o diferencia. Por ejemplo, 1d + 2d es de tres días.

  • Uno puede agregar o restar un timespan valor de un datetime valor. Por ejemplo, datetime(1910-06-11) + 1d es la fecha en que Cousteau ha pasado un día.

  • Uno puede dividir dos timespan valores para obtener su cociente. Por ejemplo, 1d / 5h proporciona 4.8. Esto permite expresar cualquier timespan valor como múltiplo de otro timespan valor. Por ejemplo, para expresar una hora en segundos, simplemente divida 1h por 1s: 1h / 1s (con el resultado obvio, 3600).

  • Por el contrario, uno puede tener varios valores numéricos (como double y long) por un timespan valor para obtener un timespan valor. Por ejemplo, uno puede expresar una hora y media como 1.5 * 1h.

Ejemplos

Hora de Unix, que también se conoce como hora POSIX o hora de época de UNIX, es un sistema para describir un momento dado como el número de segundos transcurridos desde las 00:00:00 del jueves, 1 de enero de 1970, hora universal coordinada (UTC), menos segundos bisiesto.

Si los datos incluyen la representación de la hora de Unix como un entero o necesita convertirla en él, están disponibles las siguientes funciones.

En el ejemplo siguiente se convierte la hora unix a la fecha y hora UTC.

let fromUnixTime = (t: long) { 
    datetime(1970-01-01) + t * 1sec 
};
print result = fromUnixTime(1546897531)

Salida

resultado
2019-01-07 21:45:31.0000000

En el ejemplo siguiente se convierte la fecha y hora UTC en hora unix.

let toUnixTime = (dt: datetime) { 
    (dt - datetime(1970-01-01)) / 1s 
};
print result = toUnixTime(datetime(2019-01-07 21:45:31.0000000))

Salida

resultado
1546897531

Para las conversiones de tiempo de época unix, consulte las siguientes funciones: