如何在KQL中从datetime获取指定小时的起始与结束时间?
在ADX(Kusto)中获取指定Datetime对应小时的起始与结束时间
给定一个datetime值(例如datetime(2023-07-21 12:11:10)),要快速得到该值对应小时的起始和结束时间,可以通过Kusto内置的日期函数实现:
实现代码示例
// 定义输入的datetime变量 let input_datetime = datetime(2023-07-21 12:11:10); // 计算当前小时的起始时间:向下取整到最近的小时 let hour_start_time = floor(input_datetime, 1h); // 计算当前小时的结束时间:起始时间加1小时后减1秒 let hour_end_time = hour_start_time + 1h - 1s; // 输出结果 print 输入时间 = input_datetime, 小时起始时间 = hour_start_time, 小时结束时间 = hour_end_time
结果说明
运行上述查询后,会得到:
- 输入时间:
datetime(2023-07-21 12:11:10) - 小时起始时间:
datetime(2023-07-21 12:00:00) - 小时结束时间:
datetime(2023-07-21 12:59:59)
关键逻辑说明
floor():将datetime值向下取整到指定的时间粒度(这里用1h表示1小时),直接得到当前小时的起始时刻。- 时间运算:通过
+ 1h给起始时间加一小时,再减去1s,就能精准得到当前小时的最后一秒。
内容的提问来源于stack exchange,提问作者Daniel Dror
相关产品推荐
相关产品推荐

