Freigeben über


Datetime /timespan arithmetisch

Gilt für: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Kusto unterstützt arithmetische Operationen für Werte von Typen datetime und timespan.

Unterstützte Vorgänge

  • Man kann zwei datetime Werte subtrahieren (aber nicht addieren), um einen timespan Wert zu erhalten, der ihre Differenz ausdrückt. Zum Beispiel datetime(1997-06-25) - datetime(1910-06-11) , wie alt war Jacques-Yves Cousteau , als er starb.

  • Man kann zwei timespan Werte addieren oder subtrahieren, um einen timespan Wert zu erhalten, der deren Summe oder Differenz ist. Beispielsweise 1d + 2d ist drei Tage.

  • Man kann einen timespan Wert von einem datetime Wert addieren oder subtrahieren. Beispielsweise datetime(1910-06-11) + 1d ist das Datum Cousteau ein Tag alt.

  • Man kann zwei timespan Werte dividieren, um ihren Quotienten zu erhalten. Gibt z. B 1d / 5h4.8. . Dadurch können Sie einen beliebigen timespan Wert als ein Vielfaches eines anderen timespan Werts ausdrücken. Wenn Sie beispielsweise eine Stunde in Sekunden ausdrücken möchten, dividieren 1h Sie einfach durch 1s: 1h / 1s (mit dem offensichtlichen Ergebnis, 3600).

  • Umgekehrt kann ein Numerischer Wert (z double . B. und long) durch einen timespan Wert zum Abrufen eines timespan Werts mehrfach sein. Beispielsweise kann man eine Stunde und eine halbe Als 1.5 * 1hausdrücken.

Beispiele

Unix-Zeit, die auch als POSIX-Zeit oder UNIX-Epoche bezeichnet wird, ist ein System zur Beschreibung eines Punkts als die Anzahl der Sekunden, die seit 00:00:00 Donnerstag, 1. Januar 1970, koordinierte Weltzeit (UTC), minus Schaltsekunden verstrichen sind.

Wenn Ihre Daten die Darstellung der Unix-Zeit als ganze Zahl enthalten oder sie konvertieren müssen, stehen die folgenden Funktionen zur Verfügung.

Im folgenden Beispiel werden Unix-Uhrzeiten in UTC-Datumstime konvertiert.

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

Ausgabe

Ergebnis
2019-01-07 21:45:31.0000000

Im folgenden Beispiel wird UTC-Datumstime in Unix-Zeit konvertiert.

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

Ausgabe

Ergebnis
1546897531

Informationen zu Unix-Epochen-Zeitkonvertierungen finden Sie in den folgenden Funktionen: