Код для нечеткой даты к абсолютной дате? - PullRequest
1 голос
/ 11 августа 2010

Мне нужен код, который принимает строку и определяет дату.Я написал простую 15-строчную функцию, которая возвращает дату, считая ее относительной.Это было просто.Теперь мне нужно взять строку, такую ​​как «jan 17 09» «1/2/3» (это MM / DD / YY? Или DD / MM / YY, здесь это означает первое).Мне понадобятся неоднозначные коды возврата или исключения.Что я могу использовать для анализа этих абсолютных дат?

Ответы [ 2 ]

0 голосов
/ 11 августа 2010

Если вы знаете конкретную культуру, с которой вам нужно иметь дело (на которую вы ссылаетесь в своем комментарии к ответу Леппи), вы можете просто использовать функцию System.Convert.ToDateTime для преобразования вашей неоднозначной строки вконкретная, абсолютная дата (с использованием указанной культуры).

Например:

string s1 = "jan 17 09";
string s2 = "1/2/3";
// Creates a specific culture, irrespective of the "local" culture,
// in this case, Japanese.
CultureInfo culture = CultureInfo.CreateSpecificCulture("ja-JP");
DateTime d1 = Convert.ToDateTime(s1, culture);
DateTime d2 = Convert.ToDateTime(s2, culture);
Console.WriteLine(d1.ToLongDateString());
Console.WriteLine(d2.ToLongDateString());
0 голосов
/ 11 августа 2010

Формат даты сильно зависит от текущих настроек вашей темы.

...