3

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

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

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

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

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

4

2 回答 2

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.

于 2013-01-23T03:13:05.287 回答
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));
于 2013-01-23T03:17:49.370 回答