Der folgende Code
%Vor%erzeugt diese Ausgabe:
0 Stunden 0 Minuten
Was ich möchte, ist diese Ausgabe:
24 Stunden 0 Minuten
Was fehlt mir in dieser Formatzeichenkette?
P.S. Ich weiß, dass ich den TimeSpan manuell in Tage und Stunden zerlegen könnte, und multipliziere die beiden, würde aber lieber eine benutzerdefinierte Formatzeichenfolge verwenden, da diese Zeitspannen in einem silverlight Datagrid angezeigt werden und die Leute Horus sehen, nicht Tage / p>
Laut MSDN wird %h
Ihnen zeigen
Die Anzahl der ganzen Stunden im Zeitintervall, die nicht als Teil von Tagen gezählt werden .
Ich denke, Sie müssen die Eigenschaft TotalHours
der Klasse TimeSpan
wie:
Aktualisieren
Wenn Sie das angegebene Format unbedingt erreichen müssen, indem Sie benutzerdefinierte Formatierer an die Methode ToString
übergeben, müssen Sie wahrscheinlich Ihre eigene CustomTimeSpan
-Klasse erstellen. Leider können Sie nicht von struct
erben, also müssen Sie es von Grund auf neu erstellen.
Es scheint keine Formatierungsoption zu geben, um die Gesamtstunden eines TimeSpan
zu erhalten. Am besten verwenden Sie die TotalHours
Eigenschaft stattdessen:
TotalHours
gibt ein Double zurück, da es die Nachkommastellen enthält, also müssen Sie es auf nur den ganzzahligen Teil abschneiden.
Tags und Links c# silverlight timespan formatting