如何在C#中解析Kusto时间跨度字符串?

时间:2019-05-03 17:36:20

标签: c# timespan kusto

例如,我尝试了<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> body { background-color: lightgreen; } @media only screen and (max-width: 600px) and (orientation: portrait){ body { background-color: lightblue; } } </style> </head> <body> <p>Resize the browser window. When the width of this document is 600 pixels or less and orientation is portrait, the background-color is "lightblue", otherwise it is "lightgreen".</p> </body> </html>,但这是行不通的。

TimeSpan.Parse("2d")的任何一种格式似乎都不支持Kusto timespan的格式。

2 个答案:

答案 0 :(得分:1)

用于.NET的Kusto数据客户端SDK(位于Microsoft.Azure.Kusto.Data nuget程序包中)具有CslTimeSpanLiteral类,该类可以理解这种格式。它包含几种用于将字符串解析为.NET的TimeSpan结构的静态方法。

例如:

using Kusto.Data.Common;

...

TimeSpan? ts = CslTimeSpanLiteral.Parse("2d");

除了Parse外,还有ParseNoNullTryParseTryParseNoNull

答案 1 :(得分:0)

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());
        }