Aritmética datetime/timespan

O Kusto suporta a realização de operações aritméticas em valores de tipos datetime e timespan.

Operações suportadas

  • Pode-se subtrair (mas não adicionar) dois datetime valores para obter um timespan valor que expresse a diferença. Por exemplo, datetime(1997-06-25) - datetime(1910-06-11) é a idade de Jacques-Yves Cousteau quando morreu.

  • Pode-se adicionar ou subtrair dois timespan valores para obter um timespan valor que é a sua soma ou diferença. Por exemplo, 1d + 2d são três dias.

  • Pode-se adicionar ou subtrair um timespan valor de um datetime valor. Por exemplo, datetime(1910-06-11) + 1d é a data em que Cousteau completou um dia.

  • Um pode dividir dois timespan valores para obter o quociente. Por exemplo, 1d / 5h4.8. Isto dá a uma capacidade de expressar qualquer timespan valor como um múltiplo de outro timespan valor. Por exemplo, para expressar uma hora em segundos, basta dividir 1h por 1s: 1h / 1s (com o resultado óbvio, 3600).

  • Por outro lado, pode-se múltiplos valores numéricos (como double e long) por um timespan valor para obter um timespan valor. Por exemplo, pode-se expressar uma hora e meia como 1.5 * 1h.

Exemplos

A hora unix, que também é conhecida como hora POSIX ou hora da época UNIX, é um sistema para descrever um ponto no tempo como o número de segundos decorridos desde as 00:00:00 de quinta-feira, 1 de janeiro de 1970, Hora Universal Coordenada (UTC), menos segundos bissextos.

Se os seus dados incluirem a representação do tempo Unix como um número inteiro ou se precisar de converter para o mesmo, as seguintes funções estão disponíveis.

A partir da hora Unix

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

Saída

result
2019-01-07 21:45:31.0000000

Para a hora Unix

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

Saída

result
1546897531

Para conversões de tempo unix-epoch, veja as seguintes funções: