DateTimeStylesの空白に関するオプションには次のようなものがあります。
- AllowLeadingWhite
- 文字列中の日時に先行する空白文字を無視する。
- AllowTrailingWhite
- 文字列中の日時に後続する空白文字を無視する。
- AllowInnerWhite
- 文字列中の日時の途中に存在する空白文字を無視する。
- AllowWhiteSpaces
- 文字列中の日時に含まれる空白文字を無視する。
(上記のAllowLeadingWhite, AllowTrailingWhite, AllowInnerWhiteを組み合わせたものと同じ)
これらのオプションは厳密に書式を指定するParseExactメソッドで特に効果を発揮します。 書式だけでは定義できない空白の表記ゆれを許容するかどうかをこのオプションで指定することが出来ます。 次の表は、様々な個所に空白を含む文字列をParseExactメソッドで解析した場合の結果の違いをまとめたものです。
なお、この例では日付のみを解析する際に時刻をローカル時刻であると仮定するために、DateTimeOffset.ParseExactの呼び出し時にDateTimeStyles.AssumeLocalを指定しています。