Вы можете отформатировать дату с помощью CultureInfo, не устанавливая культуру для всей темы, благодаря интерфейсу IFormatProvider
:
DateTime d = DateTime.Now;
CultureInfo c = new CultureInfo("en-GB", false);
string s = d.ToString(c.DateTimeFormat);
Это дает дополнительное преимущество, так как у вас нетжестко закодированные форматы, и если пользователь изменяет настройки локализации на своем компьютере, ваше приложение будет отражать их предпочтения.
Вы можете использовать DateTime.TryParse
для анализа даты ...
string s = "01/01/2011";
DateTime date;
if (DateTime.TryParse(s, out date))
{
// Parsed correctly
}
else
{
// Invalid string!
}
И даже используйте IFormatProvider
, чтобы помочь TryParse
отработать формат.
CultureInfo c = new CultureInfo("en-GB", false);
string s = "01/01/2011";
DateTime date;
if (DateTime.TryParse(s, c.DateTimeFormat, DateTimeStyles.None, out date))
{
// Parsed correctly
}
else
{
// Invalid string!
}