次のスクリプトを使用しています...
$x = (Get-Date).ToString()
$x #Yields 7/30/2013 12:00:10 PM
$formats = "M/dd/yyyy h:m:s tt"
$y = [datetime]::ParseExact($x, $formats, [System.Globalization.CultureInfo]::InvariantCulture, [System.Globalization.DateTimeStyles]::None)
$y.ToString() #Yields 7/30/2013 12:00:10 PM
これは期待どおりに機能します。ただし、$formats で複数の書式文字列を使用する必要があります。この $formats を次のように変更した瞬間...
$formats = "M/dd/yyyy h:m:s tt", "MM/dd/yyyy h:m:s tt"
...このスクリプトは失敗します。実際のところ、同じフォーマットを 2 回試しましたが、それでも失敗しました。ドキュメントを正しく理解していれば、「文字列表現の形式は、指定された形式の少なくとも 1 つと正確に一致する必要があります。そうしないと、例外がスローされます」。
私は何を間違っていますか?