2016-10-17 15 views
0
var time = "00:05:06,607"; 
string pattern = "hh:mm:ss,fff"; 
DateTime.TryParseExact(time, pattern, null, DateTimeStyles.None, out parsedTime); 

Но функция TryParseExact вернула мне false. Я также попытался TryParse функции, как:Как преобразовать строку «00: 05: 06,607» в DateTime?

DateTime.TryParse(time, out parsedTime); 

вернулся Также ложь, пока я не изменить время "00:05:06.607". Но дата моего источника - много строк, таких как "hh:mm:ss,fff".

Любой может помочь?

Это полный проект на GitHub https://github.com/DeronLee/PhoneBook/blob/master/subtitle/MakeSubtitle.cs

+1

Позвольте мне очистить вас от времени или времени datetime –

+3

Работает на моей машине [и на dotnetfiddle] (https://dotnetfiddle.net/2iqMSG). Пожалуйста, предоставьте [mcve]. – Heinzi

+0

Работаю и для меня. Попробуйте с InvariantCulture –

ответ

1

В качестве исходных данных в моем файле китайский файл субтитров. Я думаю, может быть, он использовал запятую вместо запятой, поэтому мой код не работал, а ваш.

Хорошо. Наконец. Не запятая. Номер . Сначала я должен использовать trim(). Он работал нормально после того, как я добавил функцию обрезки

1

Try This

DateTime dateTime = DateTime.ParseExact(time, pattern ,CultureInfo.InvariantCulture); 
+0

Спасибо. Я пытаюсь выяснить, какая разница в этом параметре –