Как я могу разобрать этот формат даты в объект DateTime? - PullRequest
1 голос
/ 10 июня 2011

У меня есть дата следующего формата в файле (ГГГГ-ММ-ДД ЧЧ: ММ: СС.millisecs):

1987-04-03 19:17:12.000

Когда я использую DateTime для анализа этой строки, он получает толькочасть даты и не получает часть времени.Может кто-нибудь сказать, пожалуйста, как разобрать это в объект DateTime?

Ответы [ 6 ]

5 голосов
/ 10 июня 2011

Использовать DateTime.ParseExact ().

var format = "yyyy-MM-dd hh:mm:ss.fff"
var dt = DateTime.ParseExact(s, format);

См. http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx. Вы также должны добавить поставщика форматов, как CultureInfo.InvariantCulture.

var dt = DateTime.ParseExact(s, format, CultureInfo.InvariantCulture);
1 голос
/ 10 июня 2011

DateTime.Parse («1987-04-03 19: 17: 12.000») возвращает 03.04.1987 19:17:12

1 голос
/ 10 июня 2011

Я сделал быстрое консольное приложение, и оно показывает дату и время:

string dateTimeString = "1987-04-03 19:17:12.000";
Console.WriteLine(DateTime.Parse(dateTimeString));
Console.ReadLine();

В результате получается: 03.04.1987 7:17:12

Возможно, вы неправильно используете полученное значение разбора?

0 голосов
/ 10 июня 2011
IFormatProvider culture = new CultureInfo("en-US", true);
DateTime.ParseExact(timeString, "dd/MM/yyyy HH:mm:ss.fff",culture);
0 голосов
/ 10 июня 2011

Как вы разбираете это?Как вы конвертируете DateTime в строку?

DateTime date = DateTime.Parse ("1987-04-03 19:17:12.000");
Console.WriteLine (date);
// yields: 4/3/1987 7:17:12 PM
Console.WriteLine (date.Date);
// yields: 4/3/1987
0 голосов
/ 10 июня 2011

Строка формата, которую вы ищете:

yyyy-MM-dd HH:mm:ss.fff

Итак

DateTime myDateTime = DateTime.ParseExact(sourceString, "yyyy-MM-dd HH:mm:ss.fff",
    CultureInfo.InvarientCulture);

См. MSDN для получения дополнительной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...