Datetime / timespan 算术
Kusto 支持对 datetime
和 timespan
类型的值执行算术运算。
支持的操作
可以将两个
datetime
值相减(但不能相加)来得到一个表示二者之差的timespan
值。 例如,datetime(1997-06-25) - datetime(1910-06-11)
是 Jacques-Yves Cousteau 去世时的年龄。可以将两个
timespan
值相加或相减以得到一个二者之和或差的timespan
值。 例如,1d + 2d
是三天。可以在一个
datetime
值的基础上加上或减去一个timespan
值。 例如,datetime(1910-06-11) + 1d
是 Cousteau 年龄增大了一天的日期。可以将两个
timespan
值相除,得到它们的商。 例如,1d / 5h
的结果为4.8
。 这样就可以将任何timespan
值表示为另一个timespan
值的倍数。 例如,若要以秒为单位表示一小时,只需将1h
除以1s
:1h / 1s
(结果很明显:3600
)。相反,一个数字值(如
double
和long
)可以乘以timespan
值来得到timespan
值。 例如,可以将一个半小时表示为1.5 * 1h
。
示例
Unix 时间(也称为 POSIX 时间或 UNIX Epoch 时间)是一种系统,用于将某个时间点描述为自协调世界时 (UTC) 1970 年 1 月 1 日星期四 00:00:00 以来经过的秒数(减去闰秒)。
如果数据包括以整数形式表示的 Unix 时间,或者需要转换为这种时间,可使用以下函数。
从 Unix 时间
let fromUnixTime = (t: long) {
datetime(1970-01-01) + t * 1sec
};
print result = fromUnixTime(1546897531)
输出
result |
---|
2019-01-07 21:45:31.0000000 |
到 Unix 时间
let toUnixTime = (dt: datetime) {
(dt - datetime(1970-01-01)) / 1s
};
print result = toUnixTime(datetime(2019-01-07 21:45:31.0000000))
输出
result |
---|
1546897531 |
相关内容
有关 unix-epoch 时间转换,请参阅以下函数: