2013-08-28 16 views
13

Io uso questo codice per la conversione Timespan-String (es: 14:53):Come convertire TimeSpan in 24 ore e in minuti String?

myTimeSpan.ToString("hh:mm"); 

ma questo errore si è verificato:

stringa di input non era in un formato corretto

Qual è il modo corretto per farlo?

+0

domanda simile risposta qui: http://stackoverflow.com/questions/463642/what-is-the- il modo migliore per convertire i secondi in minuti in millesimi di secondo. –

+2

@AbhishekShetty; sì, tuttavia, le risposte sono pre. NET 4 (senza 'TimeSpan.ToString'). –

risposta

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

Custom TimeSpan Format Strings

Gli identificatori di formato TimeSpan personalizzate non includono segnaposto simboli di separazione, come ad esempio i simboli che giorni separati da ore, ore da minuti o secondi da frazioni di secondo . Invece, questi simboli devono essere inclusi nella stringa del formato personalizzato come valori letterali stringa . Ad esempio, "dd.hh \: mm" definisce un punto (.) Come separatore tra giorni e ore e due punti (:) come separatore tra ore e minuti.

+2

Si noti che questo non gestisce periodi superiori a 24 ore (perde la parte giorni). –

+1

@MatthewWatson: corretto. Ho assunto che il massimo di OP è di 24 ore a causa del titolo e di quello che ha provato. Potrebbe includere i giorni: 'myTimeSpan.ToString (@" d \ .hh \: mm ")' –

0

Prova questo funzionerà al 100% !!

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

È necessario utilizzare @"hh\:mm\" per TimeSpan. formattazione periodo non è esattamente uguale a DateTime

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

Partenza Msdn per ulteriori informazioni

5
var result = string.Format("{0:D2}:{1:D2}", myTimeSpan.Hours, myTimeSpan.Minutes); 
Problemi correlati