У меня есть временной интервал: «P3M10DT5H2M». Я пытаюсь разобрать эти коды:
var timespan = "P3M10DT5H2M"
string[] formats = new[] { "'PT's'S'", "'PT'm'M'", "'P'd'D'", "'PT'h'H'", "'P'd'DT'h'H'", "'P'd'DT'h'H'm'M'", "'PT'h'H'm'M'", "'P'd'DT'h'H'm'M's'S'", "'P'm'M'd'DT'h'H'm'M'" };
TimeSpan.ParseExact((string)timespan , formats, CultureInfo.InvariantCulture);
Но возникает эта ошибка: в mscorlib.dll произошло первое случайное исключение типа «System.FormatException».
Дополнительная информация: строка не была распознана как допустимый интервал времени.
Последний формат должен соответствовать этой строке, но не почему? А также другой вопрос, мой путь не так хорош. Потому что я должен написать все возможности в форматах. Итак, должен ли я использовать регулярные выражения вместо массива форматов. Помогите пожалуйста мне.
timespan
иtmespan
не совпадают. - person NeverHopeless   schedule 16.09.2015formats
? Это стандартные форматы? - person NeverHopeless   schedule 16.09.2015System.Xml.XmlConvert.ToTimeSpan()
? - person elimad   schedule 16.09.2015