Я довольно новичок в C#.Получение дат с несколькими возможными форматами из строки в C#
Мне нужно создать скрипт, который читает строку и пытается преобразовать ее в Date.
Проблема являются:
-The даты бывают разных форматов. (Международный, Американский, Японский)
-Время выпускаются с различными разделителями или вообще отсутствуют.
-The год может быть полным или только 2 позиции
Я начал путем замены возможных разделителей:
dateinstring = dateinstring.Replace("-","");
dateinstring = dateinstring.Replace(".","");
dateinstring = dateinstring.Replace("/","");
Затем проверьте длину, чтобы увидеть, если год будет завершен (31102012 или 311012 для пример)
if(dateinstring.lenght = 8){
//check format with complete date
}else{
//check format with reduced year
}
Теперь я споткнулся upen эту функцию: DateTime.TryParseExact
которая, кажется, сделать то же самое, но она возвращает логическое значение (истина или ложь) и нет сама дата.
Я что-то упустил? Существуют ли методы на C#, которые уже делают это, или я должен продолжить свое решение?
Существует аргумент 'out' - [' out DateTime result'] (https://msdn.microsoft.com/en-us/library/ms131044 (v = vs.110) .aspx) –
Метод ' TryParseExact' имеет параметр 'out', который задан в методе. Взгляните на пример на странице MSDN https://msdn.microsoft.com/en-us/library/h9b85w22(v=vs.110).aspx –
Что такое формат «Международный»? Стандарт ISO? (То же самое, что и у японцев, если у вас только есть дата) –