Share via


Datetime /timespan aritmetic

A Kusto támogatja az aritmetikai műveletek végrehajtását az és timespana típusú datetime értékeken.

Támogatott műveletek

  • Két értéket kivonhat (de nem adhat hozzá) datetime a különbséget kifejező érték lekéréséhez timespan . Például, datetime(1997-06-25) - datetime(1910-06-11) hogy hány éves volt Jacques-Yves Cousteau , amikor meghalt.

  • Két timespan értéket adhat hozzá vagy vonhat ki, hogy olyan értéket kapjon timespan , amely az összegük vagy a különbségük. Például 1d + 2d három nap.

  • Egy értéket hozzáadhat vagy kivonhat timespan egy datetime értékből. Például az a dátum, datetime(1910-06-11) + 1d amikor Cousteau egy naposra váltott.

  • Az egyik két timespan értéket oszthat el a hányadosuk lekéréséhez. Adja meg például a 1d / 5h következőt 4.8: . Ez lehetővé teszi, hogy bármely timespan értéket egy másik timespan érték többszöröseként fejezze ki. Ha például egy órát másodpercben szeretne kifejezni, egyszerűen ossza el 1h a következővel1s: 1h / 1s (a nyilvánvaló eredménnyel). 3600

  • Ezzel szemben az érték lekéréséhez egy számérték (például double és long) timespan többszörösére is van timespan lehetőség. Például egy másfél órát is kifejezhet a következőként: 1.5 * 1h.

Példák

A UNIX idő, más néven POSIX-idő vagy UNIX-idő egy olyan rendszer, amely egy időpontot ír le, mivel az 1970. január 1., csütörtök, 00:00:00 óra óta eltelt másodpercek száma( UTC) mínusz szökő másodperc.

Ha az adatok tartalmazzák a Unix-idő egész számként való ábrázolását, vagy át kell alakítania azt, az alábbi függvények érhetők el.

Unix időponttól

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

Kimenet

result
2019-01-07 21:45:31.0000000

Unix időpontra

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

Kimenet

result
1546897531

Unix-epoch időkonverziók esetén tekintse meg a következő függvényeket: