如何在 C# 中解析 Kusto 时间跨度字符串?
How can I parse Kusto timespan strings in C#?
例如,我试过 TimeSpan.Parse("2d")
,但那行不通。
Kusto timespan 的格式似乎不受任何 TimeSpan.Parse()
风格的支持。
TimeSpan.Parse
在 c# 中无法识别 Kusto 时间跨度字符串,如 2d、2h 等
我们不知道您解析它的目的,但您可以使用如下代码:
string mytime = "2d";
if (mytime.EndsWith("d"))
{
mytime = mytime.Remove(mytime.IndexOf('d'));
var dt = DateTime.Now.AddDays(Convert.ToDouble(mytime));
Console.WriteLine(dt.ToString());
}
适用于 .NET 的 Kusto 数据客户端 SDK(在 Microsoft.Azure.Kusto.Data nuget 包中)有一个理解此格式的 CslTimeSpanLiteral
class。它包含几个用于将字符串解析为 .NET 的 TimeSpan
结构的静态方法。
例如:
using Kusto.Data.Common;
...
TimeSpan? ts = CslTimeSpanLiteral.Parse("2d");
除了Parse
,还有ParseNoNull
、TryParse
、TryParseNoNull
。
例如,我试过 TimeSpan.Parse("2d")
,但那行不通。
Kusto timespan 的格式似乎不受任何 TimeSpan.Parse()
风格的支持。
TimeSpan.Parse
在 c# 中无法识别 Kusto 时间跨度字符串,如 2d、2h 等
我们不知道您解析它的目的,但您可以使用如下代码:
string mytime = "2d";
if (mytime.EndsWith("d"))
{
mytime = mytime.Remove(mytime.IndexOf('d'));
var dt = DateTime.Now.AddDays(Convert.ToDouble(mytime));
Console.WriteLine(dt.ToString());
}
适用于 .NET 的 Kusto 数据客户端 SDK(在 Microsoft.Azure.Kusto.Data nuget 包中)有一个理解此格式的 CslTimeSpanLiteral
class。它包含几个用于将字符串解析为 .NET 的 TimeSpan
结构的静态方法。
例如:
using Kusto.Data.Common;
...
TimeSpan? ts = CslTimeSpanLiteral.Parse("2d");
除了Parse
,还有ParseNoNull
、TryParse
、TryParseNoNull
。