2015-06-10 3 views
-5

Если у меня есть, например, строка, которая содержит 12:20 вечера или 4:34 утра и хотите создать объект DateTime с этой строкой?Преобразование временной строки в DateTime

По сути, у меня есть сборщик дат, а рядом с ним - сборщик времени jquery, поэтому я хочу объединить эти два, чтобы получить комбинированный объект DateTime, который имеет как выбранную пользователем дату, так и выбранное пользователем время.

+0

Что вам нужно в результате, когда вы _combine_ их? Можете ли вы привести пример комбинированного результата? Объединение этих значений делает ** не ** генерировать любое 'DateTime'. –

+0

@ SonerGönül Объект 'DateTime' – cb1295

+0

Вы что-то пробовали? –

ответ

2

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

string date = "2015-06-10"; 
    string time = " 12:20pm"; 
    DateTime combinedResult = DateTime.Parse(date + time); 
    Console.WriteLine(combinedResult.ToString()); 

Метод DateTime.Parse преобразует объект строки в объект даты и времени https://msdn.microsoft.com/en-us/library/1k1skd40%28v=vs.110%29.aspx

+1

Это не работает, оно дает ошибку «String не была признана действительной DateTime». Я думаю, мне нужно попробовать один из других упомянутых методов ParseExact и предоставить точный формат моей строки – cb1295

+1

Собственно, поцарапать, что у меня была опечатка, отлично работала! – cb1295

1

С помощью DateTime.Parse() вы можете анализировать любую строку в объект DateTime. Если значения ваших двух сборщиков имеют разные форматы, вы можете предоставить объединенный формат в качестве второго параметра функции Parse.

1
You can this is simple way to do it. 

    string tm = "10:24PM"; 
    string dt = "6/10/2015"; 
    DateTime dt2 = Convert.ToDateTime(dt + " "+tm); 
    Response.Write(dt2); 
1

Попробуйте использовать промежуток времени, что-то, как показано ниже:

TimeSpan time = TimeSpan.ParseExact("23:59:59(Your string)", "HH:mm:ss", null); 
0

Вам не нужно создавать строку, чтобы комбинировать дату и время. Я не знаю jquery time picker, но если он предоставляет DateTime oject, вы можете сделать

var combined = datePicker.Value.Add(timePicker.Value.TimeOfDay); 
Смежные вопросы