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