我有几个看起来像这样的字符串:
其中S代表秒,M代表分钟
"MM Minutes and XX Seconds"
"MM Minutes"
"SS Seconds"
":SS"
我如何将其转换为以下之一: 字符串格式“MM:SS” TimeSpan格式
任何帮助表示赞赏!谢谢!
答案 0 :(得分:7)
您可以使用TempusReader。这是一个开源项目,我开始解决这个确切的问题(以及教我自己如何使用Parsley)。
查看GitHub页面上的示例,看看它是否符合您的需求。它适用于您的第一个示例中的and
之类的字词。像这样:
TimeSpan x = new Time("2 days, 7 hours, 12 mins and 52 seconds") // 2.07:12:52
此外,TempusReader.Time
对象可以隐式转换为TimeSpan
。
答案 1 :(得分:0)
如果你想用DateTime.Now测试
,你也可以这样做DateTime currentTime = DateTime.Now;
TimeSpan duration = DateTime.Now.Subtract(currentTime);
MessageBox.Show(string.Format("{0:D2}:{1:D2}", duration.Minutes, duration.Seconds));