как использовать DateTime.Parse () для создания объекта DateTime - PullRequest
11 голосов
/ 15 августа 2011

Если у меня есть строка в формате yyyyMMddHHmmssfff, например 20110815174346225.Как бы я создать объект DateTime из этой строки.Я попробовал следующее

DateTime TimeStamp = DateTime.Parse(Data[1], "yyyyMMddHHmmssfff");

Однако я получаю эти ошибки:

Error   1   The best overloaded method match for 'System.DateTime.Parse(string, System.IFormatProvider)' has some invalid arguments C:\Documents and Settings\rkelly1\Desktop\sd\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 67  29  WindowsFormsApplication1


Error   2   Argument 2: cannot convert from 'string' to 'System.IFormatProvider'    C:\Documents and Settings\rkelly1\Desktop\sd\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 67  53  WindowsFormsApplication1

Ответы [ 5 ]

17 голосов
/ 15 августа 2011
var sDate = "20110815174346225";
var oDate = DateTime.ParseExact(sDate, "yyyyMMddHHmmssfff", CultureInfo.CurrentCulture);
4 голосов
/ 15 августа 2011

Вы должны будете использовать

DateTime time = DateTime.ParseExact(String,String, IFormatProvider);

Первая строка аргумента будет вашей датой.Вторая строка аргумента будет вашим форматом. Третьим аргументом будет информация о вашей культуре (то есть IFormatProvider

. Таким образом, вы получите

DateTime TimeStamp = DateTime.ParseExact(Data[1],"yyyyMMddHHmmssfff",CultureInfo.InvariantCulture");

Информация о культуре - это объект CultureInfo, которыйпредставляет культуру, используемую для интерпретации s. Объект DateTimeFormatInfo, возвращаемый свойством DateTimeFormat, определяет символы и форматирование в s. "Из MSDN.

вот ссылка для получения дополнительной информации. http://msdn.microsoft.com/en-us/library/kc8s65zs.aspx

1 голос
/ 15 августа 2011

Использование DateTime.ParseExact:

DateTime dateTime = DateTime.ParseExact("[Your Date Here]",
                                        "yyyyMMddHHmmssfff",  
                                        CultureInfo.InvariantCulture);

Вот Документы MSDN .

0 голосов
/ 22 декабря 2015

У меня была дата, отформатированная как 20151221T031901

, чтобы преобразовать ее в дату и время, я смог использовать этот формат

DateTime.ParseExact("20151221T031901","yyyyMMddTHHmmss" , System.Globalization.CultureInfo.CurrentCulture)
0 голосов
/ 15 августа 2011

Вы должны использовать статический метод DateTime.ParseExact.

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