2017-01-31 2 views
-6

Я получил такую ​​временную метку, разобрав TCP-пакет '27 января 2017 года 16: 58: 15.688856000 Индия Стандартное время'. Как преобразовать эту строку в Datetime в C#?Преобразование строки datetime в C#

+0

Используйте Сплит, чтобы получить детали, а затем их – Sergio

+0

анализирует расщепление строки и синтаксический анализ я могу сделать .. есть любой формат parseExact (или) IFormatProvider для такого рода DateTime? – Nanju

+0

Ну ... Нет. Для этой строки нет. Но вы можете использовать RegEx с перечислениями для упрощения – Sergio

ответ

0

использование Cliver

DateTime dt=new DateTime 
    if (!Cliver.DateTimeRoutines.TryParseDate('your text', Cliver.DateTimeRoutines.DateTimeFormat.UK_DATE, out dt)) 
    { 
     //show message 
    } 
+0

Формат Timestamp определен как UK_Date .. Это может быть любая вещь .. Как я могу конвертировать в общий формат UTC? – Nanju

+0

Посмотрите ниже ответ или посмотрите [link1] (https://www.codeproject.com/Articles/33298/C-Date-Time-Parser), [link2] (https://www.codeproject.com/Articles/14743/Easy-Строка-DateTime-DateTime в строку-и-For) – Lucifer

0

Согласно этому link вы можете просто попробовать

string iString = "Jan 27, 2017 16:58:15.688856000 India Standard Time"; 
DateTime oDate = DateTime.ParseExact(iString, "MM-dd-yyyy HH:mm tt",null); 

или

DateTime oDate = DateTime.ParseExact(iString, "MM-dd-yyyy",null); 

После этого, если вы хотите форматировать свой собственный путь, вы можете попробуйте это link l икэ

2017/02/01 or May 07, 2016