Я разбор значения ISO8601 TimeSpan на некоторое время теперь, пока я не столкнулся с одним, который вызвал мой код, чтобы бросить System.FormatException:Преобразование конкретного ISO8601 TimeSpan («P2M2W5D») на C# TimeSpan
TimeSpan ts = XmlConvert.ToTimeSpan("P2M2W5D");
Глядя на ISO8601 Standard, кажется, что это правильный ввод, а также без каких-либо двусмысленностей (M четко указывает на месяцы, а не минуты).
System.FormatException was unhandled by user code
HResult=-2146233033
Message=The string 'P2M2W5D' is not a valid TimeSpan value.
Source=System.Xml