MSDN says:Синтаксический TimeSpan с дополнительным знаком минус
В стилей параметр влияет на интерпретацию строк проанализированных с использованием строк пользовательского формата. Он определяет, интерпретируется ли вход как отрицательный интервал времени, только если присутствует отрицательный знак (TimeSpanStyles.None), или он всегда интерпретируется как отрицательный временной интервал (TimeSpanStyles.AssumeNegative). Если TimeSpanStyles.AssumeNegative не используется, формат должен содержать буквенный знак отрицательного знака (например, «-») для успешного анализа отрицательного интервала времени.
меня попробовать следующее:
TimeSpan.ParseExact("-0700", @"\-hhmm", null, TimeSpanStyles.None)
Однако она возвращает 07:00:00. И не подходит для «0700».
Если я пытаюсь:
TimeSpan.ParseExact("-0700", "hhmm", null, TimeSpanStyles.None)
Это не может тоже.
TimeSpan.ParseExact("0700", new string [] { "hhmm", @"\-hhmm" }, null, TimeSpanStyles.None)
Не работает как для «0700», так и «-0700», но всегда возвращает положительный 07:00:00.
Как это предполагается использовать?
В качестве обходного пути, если вы не можете получить эту работу , вы можете разобрать «Длительность» в [Время Noda] (http://nodatime.org). Посмотрите, что я могу сделать с 'TimeSpan', хотя ... –
Спасибо за подсказку. Но это простой сценарий, который я не хочу, и дополнительную библиотеку, вместо этого я бы предпочел использовать StartsWith ('-'). –
Достаточно честный. Я все равно включил его в свой ответ, но в основном ради других читателей. –