2

「MM:SS」形式の文字列から TotalSeconds を抽出したいと考えています。例: 01:20 I spect 80 (秒)

私はそれを行い、例外が発生します:

TimeSpan.ParseExact(time.ToString(), "mm:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;

私は何を間違っていますか??

ありがとう!

4

3 に答える 3

2

以下を試してください:

TimeSpan.ParseExact(time.ToString(), "mm\\:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;

MSDNの Costum TimeSpan Formatting の詳細を読む

バックスラッシュはエスケープ文字です。つまり、C# では、書式文字列を @ で囲むか、mm:ss をバックスラッシュで区切る必要があります。

于 2013-11-27T12:24:18.497 に答える
2

の場合timeは、DateTime単に次のようなことができます

TimeSpan ts = new TimeSpan(time.Ticks);
Console.WriteLine(ts.TotalSeconds);

コードに従って動作させたい場合は、ToString()メソッドからの出力が指定した文字列パターンと一致しないことに注意してください。出力が必要なパターンに一致するようにフォーマットします。

TimeSpan.ParseExact(time.ToString("mm:ss"), "mm:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;
于 2013-11-27T12:20:13.030 に答える
0

TimeSpan カスタム形式ガイドによると、こちらhttp://msdn.microsoft.com/en-us/library/ee372287(v=vs.110).aspx

バックスラッシュでコロンをエスケープする必要があるため、フォーマットは次のようになります。

TimeSpan.ParseExact(time.ToString(), @"mm\:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;
于 2013-11-27T12:24:07.310 に答える