2013-08-28 10 views
13

używam tego kodu do konwersji Timespan do String (ex: 14:53):Jak przekonwertować TimeSpan na 24 godziny i minuty String?

myTimeSpan.ToString("hh:mm"); 

ale ten błąd:

ciąg wejściowy nie był w poprawnym formacie

Jaki jest właściwy sposób na wykonanie tej czynności?

+0

Podobne pytanie odpowiedział tutaj: http://stackoverflow.com/questions/463642/what-is-the- najlepsza droga do przekonwertowania-sekunda-godzina-godzina minut sekundowa sekunda sekunda –

+2

@AbhishekShetty; tak, jednak odpowiedzi są przed .NET 4 (bez 'TimeSpan.ToString'). –

Odpowiedz

28
myTimeSpan.ToString(@"hh\:mm") 

Custom TimeSpan Format Strings

W formacie Specyfikatory zwyczaj zakresu czasu nie symbol zastępczy symboli rozdzielające, takie jak symboli oddzielnych dniach od kilku godzin, godzin od chwili pierwszego z sekund frakcyjnych . Zamiast tego te symbole muszą być zawarte w niestandardowym ciągu formatów jako ciągi literowe . Na przykład "dd.hh \: mm" definiuje kropkę (.) Jako separator między dniami i godzinami oraz dwukropek (:) jako separator między godzinami i minutami.

+2

Należy pamiętać, że nie obejmuje to okresów dłuższych niż 24 godziny (traci część dni). –

+1

@MatthewWatson: Prawidłowo. Zakładałem, że maksymalna liczba OP wynosi 24 godziny, z powodu tytułu i tego, co próbował. Mógł zawrzeć dni: 'myTimeSpan.ToString (@" d \ .hh \: mm ")' –

0

Spróbuj tego będzie działać w 100%!

myTimeSpan.ToString(@"dd\.hh\:mm");. 
6

Musisz użyć @"hh\:mm\" dla TimeSpan. formatowanie Okres nie jest dokładnie taka sama jak DateTime

myTimeSpan.ToString(@"hh\:mm"); 

Wyjazd Msdn uzyskać więcej informacji

5
var result = string.Format("{0:D2}:{1:D2}", myTimeSpan.Hours, myTimeSpan.Minutes); 
Powiązane problemy