我有一些xxh:yym格式的字符串,其中xx是小时,yy是像“05h:30m”那样的分钟。将这种类型的字符串转换为TimeSpan的优雅方法是什么?
发布于 2018-06-28 15:01:57
这里有一种可能性:
TimeSpan.Parse(s.Remove(2, 1).Remove(5, 1));
如果你想在代码中使它更优雅,请使用扩展方法:
public static TimeSpan ToTimeSpan(this string s)
{
TimeSpan t = TimeSpan.Parse(s.Remove(2, 1).Remove(5, 1));
return t;
}
那你就可以
"05h:30m".ToTimeSpan();
发布于 2018-06-28 16:18:18
DateTime.ParseExact
或DateTime.TryParseExact
让您指定输入的确切格式。拿到后DateTime
,你可以抓住DateTime.TimeOfDay
这是一个TimeSpan
。
如果没有TimeSpan.TryParseExact
,我认为一个“优雅”的解决方案是混合的。
https://stackoverflow.com/questions/-100000361
复制相似问题