1

以下の形式の文字列がいくつかあります。

「1:15」
「:45」
「1:30:45」

それらを TimeSpan に変換する必要がありますが、それらの一部 (たとえば最初のもの) を TimeSpan.Parse すると、1 時間 15 分として返されます。

どんなアドバイスでも大歓迎です!

4

2 に答える 2

5

のオーバーロードを使用して、正確な書式指定子TimeSpan.ParseExactの配列を指定できます。

var formats = new string[] {@"m\:s", @"\:s", ...};
var timeSpace = TimeSpan.ParseExact(input, formats, CultureInfo.CurrentCulture);

ParseExact.Net 4で導入されたことに注意してください

于 2013-02-09T04:56:57.727 に答える
1

パラメータ文字列は、以下に指定された特定の形式である必要があります。

[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]

したがって、「1:15」は hh:mm として扱われます。1 分 15 秒を渡す場合は、パラメーター文字列を に再フォーマットする必要があります"00:01:15"。文字列を対応する日、時間、分、ss 変数に分割し、それらを使用して TimeSpan オブジェクトを割り当てることができます。

MSDN には適切なドキュメントがあります。

http://msdn.microsoft.com/en-us/library/se73z7b9.aspx

于 2013-02-09T04:53:56.987 に答える