【问题标题】:Converting string into Timespan for formats like '1h 0m'将字符串转换为“1h 0m”等格式的时间跨度
【发布时间】:2017-05-15 10:15:23
【问题描述】:

我正在尝试将此字符串转换为 TimeSpan,

string input = "1h 0m";
string format = "%h %m"; // also tried "hh mm"
TimeSpan ts;
TimeSpan.TryParseExact(input, format, null, out ts);

但是每次我得到的输出都是00:00:00

【问题讨论】:

  • Parse string to TimeSpan的可能重复
  • 你试过 string format = "%hh %mm"; 吗?
  • 字符串[] 格式 = { "m\m", "h\h\ m\m" };
  • @ManfredRadlwimmer 我希望它是动态的并且可以使用格式,不想拆分字符串等。
  • @ManfredRadlwimmer 只看同一个答案的第二条评论

标签: c#


【解决方案1】:

您的格式不正确。这会奏效。

string input = "1h 0m";
string[] formats = { @"m\m", @"h\h\ m\m" };
TimeSpan ts;
TimeSpan.TryParseExact(input, formats, null, out ts);

【讨论】:

    【解决方案2】:
    string[] formats = { @"m\m", @"h\h\ m\m" };
    

    【讨论】:

    • 这些不是逐字字符串。它在一开始就缺少@。那或者用额外的`逃脱他们。好好休息吧。
    • @NikhilAgrawal .. 我只是为了形式而发布 ans ......你已经给出了 ans 所以我认为不需要......这个......他们明白......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多