2014-02-04 3 views
2

Биржи Webservice имеет метод, который принимает DateTime в формате нижеПреобразовать разделенную запятая строки DateTime

appointment.Start = new DateTime(2014, 03, 04, 11, 30, 00); 

У меня есть строка, которая образуется путем конкатенации различных полей для формирования даты моей строка, как показано ниже :

string date="2014,03,04,11,00,00" 

Но если я пытаюсь разобрать мою строку в качестве даты он дает ошибку «Строка не была признана в качестве действительного DateTime».

DateTime.Parse(date) 

ответ

3

Вы можете использовать DateTime.ParseExact:

string date = "2014,03,04,11,00,00"; 
DateTime dateTime = DateTime.ParseExact(date, "yyyy,MM,dd,HH,mm,ss", CultureInfo.CurrentCulture); 
+0

Спасибо Тим. Несмотря на то, что это правильно преобразует, кажется, что метод на этой линии хочет, чтобы это была длинная встреча. Старт = новый DateTime (2014, 03, 04, 11, 30, 00); Он говорит – user3058255

+0

Метод, на котором строка? Может быть, вам нужны тики (длинный), а затем используйте «dateTime.Ticks» –

+0

? Meeting.Start = new DateTime (2014, 03, 04, 11, 30, 00); Сообщение об ошибке "? Лучшее совпадение метода перегрузки для System.DateTime.DateTime (long) имеет некоторые недопустимые аргументы. – user3058255

0

Попробуйте это:

string date = "2014,03,04,11,00,00"; 
    DateTime datDate; 
    if(DateTime.TryParseExact(date, new string[] { "yyyy,MM,dd,hh,mm,ss" }, 
          System.Globalization.CultureInfo.InvariantCulture, 
          System.Globalization.DateTimeStyles.None, out datDate)) 
    { 
     Console.WriteLine(datDate); 
    } 
Смежные вопросы