在C#中重新格式化Timespan

时间:2013-01-23 03:10:25

标签: c# timespan

我有几个看起来像这样的字符串:

其中S代表秒,M代表分钟

"MM Minutes and XX Seconds"
"MM Minutes"
"SS Seconds"
":SS"

我如何将其转换为以下之一: 字符串格式“MM:SS” TimeSpan格式

任何帮助表示赞赏!谢谢!

2 个答案:

答案 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));