Я хочу преобразовать 8-значное значение в объект DateTime. Как я могу это сделать? Например, если пользователь вводит 08082010, тогда он должен преобразовать его в 08/08/2010, используя С#.
Преобразование 8-значного числа в DateTime Type
Ответ 1
CultureInfo provider = CultureInfo.InvariantCulture;
string dateString = "08082010";
string format = "MMddyyyy";
DateTime result = DateTime.ParseExact(dateString, format, provider);
Это будет работать.
Ответ 2
Используйте DateTime.ParseExact()
с спецификатором формата "ddMMyyyy"
или "MMddyyyy"
.
Ответ 3
Я просто пытался сделать то же самое, и мне пришлось бы согласиться с подходом Игнасио. Ответ, который был принят, работает, но метод ParseExact
генерирует исключение в случае, если строка даты недействительна, а метод TryParseExact
возвращает false
. Пример:
using System.Globalization;
// ...
string dateString = "12212010";
string format = "MMddyyyy";
DateTime dateStarted;
if (!DateTime.TryParseExact(dateString, format, null, DateTimeStyles.None, out dateStarted))
dateStarted = DateTime.Now;
Ответ 4
Используйте DateTime.Parse