TimeSpan.Parse微秒和毫秒跨度

时间:2015-08-04 10:57:44

标签: c# timespan

我正在使用以下列格式返回时间范围的网络服务

  • 300.43μs(微秒)
  • 212.675ms(毫秒)

我希望能够准确地将这些解析为TimeSpan对象。目前我正在使用TimeSpan.Parse,但这两种情况都失败了:

TimeSpan.Parse(json["time"].ToString());
// Exception: String was not recognized as a valid TimeSpan.

如何解析这些值?

2 个答案:

答案 0 :(得分:1)

使用正则表达式检测你有什么 - 微秒或毫秒。或者只是简单地检查EndsWith

(\d*.\d*)µs // for microseconds
(\d*.\d*)ms  // for milliseconds

@Chris已经写过了 - 时间跨度不允许你解析微秒。

答案 1 :(得分:0)

AFAIK TimeSpan结构不支持解析像这样的单位。您必须自己检查并剥离设备。

毫秒,然后使用FromMilliseconds。对于微秒,要么将值重新调整为ms(FromMilliseconds接受双倍),要么使用FromTicks,其中每个滴答为100 ns。