我从比赛中许多不同的格式(或多或少任何小时,分钟,秒和毫秒的组合)时的结果:DateTime.TryParseExact单个第二
- 01:22:51.15
- 22: 15.12
- 15.0
- 12:21
- ...
我分析他们一个有效的格式列表,到目前为止所有的格式都可以工作,除了一个:单一的第二种格式,例如“5”。
出于某种原因,以下列表(包含“s”作为第一项)并不帮助我将字符串“5”解析为DateTime,但“25”仍可以正常工作。
var timeString = "5";
var timeFormats = new[] { "s", "s.f", "s.ff", "ss", "ss.f", "ss.ff", "m:ss", "m:ss.f", "m:ss.ff", "mm:ss", "mm:ss.f", "mm:ss.ff", "H:mm:ss", "H:mm:ss.f", "H:mm:ss.ff", "HH:mm:ss", "HH:mm:ss.f", "HH:mm:ss.ff" };
DateTime timeValue;
DateTime.TryParseExact(timeString, timeFormats, null, DateTimeStyles.None, out timeValue);
任何想法为什么这不工作,因为我期望它?还是有更清晰的方式来覆盖所有这些时间格式,而无需添加其他nuget包...? 干杯!
我不认为这是太多的要求什么代码目前给你? “这不起作用”并不值得继续。 – Abion47
您正在使用时间跨度。这就是'TimeSpan'的意思,而不是'DateTime'。 – Luaan
对不起,我的意思是TryParseExact返回false。 –