Я обычно стараюсь придерживаться этого при работе с DateTime
/ string
переходами:
- Если даты сохраняются в текстовом формате, отформатируйте их явно. Предпочтительно в стандартизированном формате (например, ISO 8601 ).
- При чтении даты назад, анализируйте ее для объекта
DateTime
, используя тот же явно определенный формат.
Таким образом, ваш код не потерпит неудачу при использовании в местах, где формат даты отличается от вашего, или если файл создан в одной локали, а затем проанализирован в другой.
private static string DateToString(DateTime input)
{
return input.ToString("yyyy-MM-dd");
}
private static DateTime StringToDate(string input)
{
return DateTime.ParseExact(input, "yyyy-MM-dd", CultureInfo.InvariantCulture);
}