ストップウォッチから特定のフォーマット==> hh:mm:ss.fまでの経過時間を解析しようとしています。タイムカウンタの表示。 XX:XX:xx.xのそれは、常にこのよう表示:12:XX:xx.xのストップウォッチの経過時間から解析されたDateTimeは、常に12:00:00に開始します。
string counter = DateTime.Parse(_stopwatch.Elapsed.ToString()).ToString("hh:m:ss.f");
問題ではなく、カウンター表示を次のように見ているということです。これは私がやろうものです
なぜ12で始まるのですか?
私は00:12:34.5のようなものを見たいと思います。 12:12:34.5の代わりに34秒が経過した。
私はここで何が欠けていますか?
ありがとうございました。
を修正し、私自身の問題、これをしなかった
UPDATE:
24時間を使用していますstring formattedResult = _stopwatch.Elapsed.ToString(@"hh\:mm\:ss\.f");
HH
のではなく、12時間時計を使用していますあなたはhh
を使用している
こんにちはジョン、返信に感謝。私はWP7アプリケーションでこれをやっているので、.NET 4のカスタム文字列フォーマッタにはアクセスできません。 _stopwatch.Elapsed.ToString();を実行しようとしました。それは私が欲しくないミリ秒にそれをフォーマットしました。 _stopwatch.Elapsed.ToString( "HH:mm:ss [.f]")のようなものです。どちらもうまくいきませんでした。 私は何十秒も正確に探していたので、@ hh \:mm \:ss \ .f "は私のトリックでした。 – Cranialsurge
@Cranialsurge:私はまだそれを日付/時刻に変換しません。それの各部分にカスタム書式文字列を使用するだけです。基本的に、これは*日時ではなく、それを1つのものとして扱うことは悪い考えです。あなたが24時間以上になったらどうしたらいいですか? –
+ Jon:うん、もうDateTimeに変換していない。私が必要とするのは、上記の私の更新で得られる文字列だけです。私はこの特定の要件のために24時間を超えることはありませんが、私はあなたの懸念を理解しています。理想的には、私が探していたのは表示専用の特定の形式の文字列でした。 TimeSpanが提供する標準の 'c'、 'g'、および 'd'フォーマッタ以上のものをToString()だけで受け入れると、_stopwatch.Elapsedを直接格納できました。 – Cranialsurge