我有一些xxh:yym格式的字符串,其中xx是小时,yy是分钟,如"05h:30m".将此类型的字符串转换为TimeSpan的优雅方法是什么?
这似乎有用,虽然它有点hackish:
TimeSpan span; if (TimeSpan.TryParse("05h:30m".Replace("m","").Replace("h",""), out span)) MessageBox.Show(span.ToString());
DateTime.ParseExact
或者DateTime.TryParseExact
让您指定输入的确切格式.得到之后DateTime
,你可以抓住DateTime.TimeOfDay
哪个是TimeSpan
.
如果没有TimeSpan.TryParseExact
,我认为一个"优雅"的解决方案是不合适的.
@buyutec如您所料,如果时间跨度超过24小时,此方法将无效.