次の方法で共有


Datetime/timespan 算術

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft Sentinel

Kusto では、 datetime 型と timespan型の値に対する算術演算の実行がサポートされています。

サポート対象の操作

  • 1 つは、2 つの datetime 値を減算 (追加は除く) して、その差を表す timespan 値を取得できます。 例えば、 datetime(1997-06-25) - datetime(1910-06-11) は、彼が死んだとき 、クストーJacques-Yves 何歳だったかです。

  • 1 つは、2 つの timespan 値を加算または減算して、合計または差である timespan 値を取得できます。 たとえば、 1d + 2d は 3 日間です。

  • timespan値からdatetime値を加算または減算できます。 たとえば、 datetime(1910-06-11) + 1d は、クストーが 1 日経過した日付です。

  • 1 つは、2 つの timespan 値を除算して商を取得できます。 たとえば、 1d / 5h4.8を提供します。 これにより、1 つの timespan 値を別の timespan 値の倍数として表す機能が提供されます。 たとえば、1 時間を秒単位で表すには、 1h1s で除算します( 1h / 1s (明らかな結果 3600)。

  • 逆に、数値 ( doublelongなど) を timespan 値で複数にして、 timespan 値を取得できます。 たとえば、1 時間 30 分を 1.5 * 1hとして表すことができます。

例示

UNIX 時間 (POSIX 時刻または UNIX エポック時間とも呼ばれます) は、1970 年 1 月 1 日木曜日の 00:00:00 (協定世界時) からうるう秒を引いた秒数を表すシステムです。

データに Unix 時刻の整数表現が含まれている場合、またはデータに変換する必要がある場合は、次の関数を使用できます。

次の例では、Unix 時刻を UTC 日時に変換します。

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

アウトプット

結果
2019-01-07 21:45:31.0000000

次の例では、UTC 日時を Unix 時刻に変換します。

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

アウトプット

結果
1546897531

unix エポック時間変換については、次の関数を参照してください。