時間が 0 から 23 までの時間(時間、分、秒)の文字列を解析できるようにしたいと考えています。1 桁の時間の前のゼロはオプションです。
有効なオブジェクトに解析できるようにしたい時間文字列の例DateTime
:
- 212540
- 061525
- 94505
解析を管理するために C# メソッドDateTime.ParseExactを使用しようとしていますが、「先行ゼロのない 1 桁の時間」シナリオを処理できるフォーマット文字列を考え出すことはできません。
DateTime.ParseExact
上記のすべての例を同じコード行で十分に解析するには、フォーマット文字列をどのように指定すればよいですか?
カスタムの日付と時刻の形式に関する MSDN ページに触発されて、次のアプローチを試しました。
DateTime.ParseExact(time_string, "Hmmss", CultureInfo.InvariantCulture);
DateTime.ParseExact(time_string, "%Hmmss", CultureInfo.InvariantCulture);
DateTime.ParseExact(time_string, "HHmmss", CultureInfo.InvariantCulture);
これらのフォーマット文字列はすべて、上記の最初の 2 つの例で機能しますが、1 桁の時間で前にゼロがない場合、すべての式でFormatException
.