2行のコードに問題があり、期待通りに動作しません。重要なのは、DateTime
オブジェクトがstring
に変換され、明示的なフォーマット指定なしにデフォルトの変換を使用してDateTimeに戻っていることです。Powershell v5の文字列から日時変換へのエラー
$timeString = [DateTime]::Now.ToString() # contains 17.01.2017 20:01:30
$time = [DateTime]$timeString # PS blows with error
したがって、基本的には、デフォルトの日付形式を使用して文字列を書式設定しますが、それを構文解析するために他の形式を使用しているようです。次のコード行は動作します、しかし:
$otherTime = [DateTime]"01/17/2017 20:01:30" # will get the initial date
誰かがタイプ変換の問題について適切な文書に私を指す可能性があり、なぜこのような場合にはそれが前後にデータを変換するために、異なるフォーマットを使用するのでしょうか?
ありがとうございます。
問題を再現できませんでした。最初のスクリプトブロックは正常に機能しました。 –
'[string] [DateTime] :: Now'または' [DateTime] :: Now.ToString([CultureInfo] :: InvariantCulture) 'を使用してください。 – PetSerAl