Arithmétique datetime/timespan

Kusto prend en charge l’exécution d’opérations arithmétiques sur des valeurs de types datetime et timespan.

Opérations prises en charge

  • On peut soustraire (mais pas ajouter) deux datetime valeurs pour obtenir une timespan valeur exprimant leur différence. Par exemple, datetime(1997-06-25) - datetime(1910-06-11) est l’âge de Jacques-Yves Cousteau quand il est mort.

  • Vous pouvez ajouter ou soustraire deux timespan valeurs pour obtenir une timespan valeur qui est leur somme ou leur différence. Par exemple, 1d + 2d est de trois jours.

  • Vous pouvez ajouter ou soustraire une timespan valeur d’une datetime valeur. Par exemple, datetime(1910-06-11) + 1d est la date à laquelle Cousteau est devenu un jour.

  • On peut diviser deux timespan valeurs pour obtenir leur quotient. Par exemple, 1d / 5h donne 4.8. Cela permet d’exprimer n’importe quelle timespan valeur sous la forme d’un multiple d’une autre timespan valeur. Par exemple, pour exprimer une heure en secondes, divisez 1h simplement par 1s: 1h / 1s (avec le résultat évident, 3600).

  • À l’inverse, on peut multipler une valeur numérique (telle que double et long) par une timespan valeur pour obtenir une timespan valeur. Par exemple, on peut exprimer une heure et demie comme 1.5 * 1h.

Exemples

L’heure Unix, également appelée heure POSIX ou heure d’époque UNIX, est un système permettant de décrire un point dans le temps comme le nombre de secondes qui se sont écoulées depuis 00 :00 :00 jeudi, 1er janvier 1970, temps universel coordonné (UTC), moins les secondes bissextiles.

Si vos données incluent une représentation de l’heure Unix sous la forme d’un entier, ou si vous devez y effectuer une conversion, les fonctions suivantes sont disponibles.

À partir de l’heure Unix

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

Sortie

result
2019-01-07 21:45:31.0000000

À l’heure Unix

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

Sortie

result
1546897531

Pour les conversions de temps d’époque unix, consultez les fonctions suivantes :