You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在KQL中解析/Date(xxxx)/格式的时间?

问题

在Windows PowerShell中使用ConvertTo-Json处理包含DateTime类型的对象时,日期会被序列化为/Date(1680994874000)/这类格式。现在需要将该JSON输出文件作为Kusto的externaldata来使用(而非数据摄入),但找不到解析这种日期格式的内置方法。以下是我当前的实现方式,想了解是否有更简洁的内置方案:

let events = externaldata (EventName:string, StartTime:string)
[h@"sasUri"]
with (format="multijson");
events 
| extend StartTime2 = unixtime_milliseconds_todatetime(tolong(substring(StartTime,6, strlen(StartTime)-8)))
解决方案

目前Kusto并没有直接解析这种.NET风格JSON日期格式的内置函数,但可以通过简化字符串处理逻辑来优化现有代码。

可以使用extract函数直接从日期字符串中提取毫秒级时间戳,比substring结合strlen的写法更简洁直观:

let events = externaldata (EventName:string, StartTime:string)
[h@"sasUri"]
with (format="multijson");
events 
| extend StartTime2 = unixtime_milliseconds_todatetime(tolong(extract(@"\/Date\((\d+)\)\/", 1, StartTime)))

extract函数通过正则表达式\/Date\((\d+)\)\/匹配日期格式,捕获其中的数字部分(即毫秒时间戳),再转换为长整型后转成DateTime类型,逻辑更清晰,代码也更紧凑。

内容的提问来源于stack exchange,提问作者Ambrose Leung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 22:17:02