「MM:SS」形式の文字列から TotalSeconds を抽出したいと考えています。例: 01:20 I spect 80 (秒)
私はそれを行い、例外が発生します:
TimeSpan.ParseExact(time.ToString(), "mm:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;
私は何を間違っていますか??
ありがとう!
「MM:SS」形式の文字列から TotalSeconds を抽出したいと考えています。例: 01:20 I spect 80 (秒)
私はそれを行い、例外が発生します:
TimeSpan.ParseExact(time.ToString(), "mm:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;
私は何を間違っていますか??
ありがとう!
以下を試してください:
TimeSpan.ParseExact(time.ToString(), "mm\\:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;
MSDNの Costum TimeSpan Formatting の詳細を読む
バックスラッシュはエスケープ文字です。つまり、C# では、書式文字列を @ で囲むか、mm:ss をバックスラッシュで区切る必要があります。
の場合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;
TimeSpan カスタム形式ガイドによると、こちらhttp://msdn.microsoft.com/en-us/library/ee372287(v=vs.110).aspx
バックスラッシュでコロンをエスケープする必要があるため、フォーマットは次のようになります。
TimeSpan.ParseExact(time.ToString(), @"mm\:ss", System.Globalization.CultureInfo.CurrentCulture).TotalSeconds;