Как я могу преобразовать строку TimeZone в TimeSpan и наоборот? - PullRequest
1 голос
/ 13 декабря 2011

У меня есть строка, такая как:

"+ 10:30", "+04: 50", "-10: 20"

, которыев формате часового пояса.Как я могу преобразовать его в TimeSpan и наоборот?


Я уже пытался использовать TimeSpan.Pars (..), но не повезло, продолжаю получать исключения.

Ответы [ 3 ]

5 голосов
/ 13 декабря 2011

Используйте это:

TimeSpan.Parse(yourTimeZoneString.TrimStart('+'));

Это «+», которого TimeSpan.Parse() не понимает. Если вы просто обрежете ведущий «+» из строки, он будет работать нормально.

0 голосов
/ 13 декабря 2011

Вы можете использовать метод TimeSpan.Parse, он будет принимать строковые значения из вашего примера: http://msdn.microsoft.com/en-us/library/se73z7b9.aspx Единственная проблема заключается в том, что я не уверен, что он примет знак "+", однако это очень легко удалите его с помощью String.Replace.

0 голосов
/ 13 декабря 2011

Удалите знаки + перед анализом.Это работает для меня:

var l = new List<string>(){"+10:30" , "+04:50" , "-10:20"};
foreach(var ts in l) {
    Console.WriteLine(TimeSpan.Parse(ts.Replace("+","")).ToString());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...