2015-11-25 1 views
0

У меня есть строка, которая содержит h:mm:ss tt формат времени, я хочу, чтобы преобразовать эту строку в отрезок временикак разобрать время промежутка времени, который находится в чч: мм: сс формат тт в C#

Я попытался ниже

string time = "5:49:41 PM"; 
TimeSpan Reportingtime = TimeSpan.Parse(time); 

Но он получает сообщение об ошибке, что String was not recognized as a valid TimeSpan.

Пожалуйста, помогите мне

+0

В строке времени, 'DateTime' является точкой в ​​то время как' TimeSpan' является сегментом. Вам нужен еще один момент, потому что две точки составляют сегмент линии. –

ответ

2

Попробуйте, как это decripted в this сообщение

string s = "5:19:41 PM"; 
DateTime t = DateTime.ParseExact(s, "h:mm:ss tt", CultureInfo.InvariantCulture); 
//if you really need a TimeSpan this will get the time elapsed since midnight: 
TimeSpan ts = t.TimeOfDay; 
+1

Я бы проголосовал за это, за исключением того, что это всего лишь копия связанного ответа. Было бы лучше, если бы вы могли создавать что-то новое и полезное самостоятельно. – Kjartan

+0

Я просто хотел удостовериться, что решение опубликовано, даже если ссылка, на которую я ссылаюсь, может быть сломана когда-нибудь. И я не мог придумать лучшего способа сделать это. – croxy

+1

@ croxy- Спасибо, это работает для меня – dwan

1

С этим общим форматом времени, она может быть уменьшена до:

string time = "5:19:41 PM"; 
TimeSpan reportingTime = DateTime.Parse(time).TimeOfDay; 
Смежные вопросы