33

このコードを使用して(例: 14:53)に変換Timespanします。String

myTimeSpan.ToString("hh:mm");

しかし、このエラーが発生します:

入力文字列は、正しい形式ではありませんでした

これを行う適切な方法は何ですか?

4

5 に答える 5

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

カスタム TimeSpan フォーマット文字列

カスタム TimeSpan 形式指定子には、日と時間、時間と分、または秒と小数秒を区切る記号などのプレースホルダー区切り記号は含まれません。代わりに、これらの記号を文字列リテラルとしてカスタム フォーマット文字列に含める必要があります。たとえば、「dd.hh\:mm」は、ピリオド (.) を日と時間の区切り記号として定義し、コロン (:) を時間と分の区切り記号として定義します。

于 2013-08-28T08:09:56.673 に答える
11

@"hh\:mm\"を使用する必要がありますTimeSpan。タイムスパンのフォーマットは正確には同じではありませんDateTime

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

詳細については、 Msdnを確認してください。

于 2013-08-28T08:11:54.223 に答える
3

からTimeSpan.ToString Method (String)

TimeSpan t = new TimeSpan(14, 53, 0);
Console.WriteLine(t.ToString(@"hh\:mm"));

String.Format代わりにlike;を使用できます。

Console.WriteLine(String.Format("{0}:{1}", t.Hours, t.Minutes));

TimeSpan.ToString(String)オーバーロードは .NET 4 以降でのみ使用できることを忘れないでください。

于 2013-08-28T08:10:59.350 に答える
0

これを試してみると 100% うまくいきます !!

myTimeSpan.ToString(@"dd\.hh\:mm");.
于 2013-08-28T08:09:36.730 に答える