PowerShellを使用して、文字列を日時に変換しようとしています。簡単なはずですよね?
CSVインポートから文字列を取得していますが、Jul-16
の形式になっています。 yyyy-MM-dd
である必要な形式に変換する方法をいくつか試しましたが、現在次の方法を使用しています。
$invoice = $object.'Invoice Month'
$invoice = "01-" + $invoice
$invoice = [datetime]::parseexact($invoice, 'yyyy-MM-dd', $null)
しかし、私はエラーを受け取ります:
文字列は有効なDateTimeとして認識されませんでした。
何か不足していますか?
ParseExactには、解析したい日付の形式が通知されます。取得したい形式ではありません。
$invoice = '01-Jul-16'
[datetime]::parseexact($invoice, 'dd-MMM-yy', $null)
その後、日付文字列を出力する場合:
[datetime]::parseexact($invoice, 'dd-MMM-yy', $null).ToString('yyyy-MM-dd')
クリス
形式を指定する必要があります既に持っています、それを解析するために:
$InvoiceDate = [datetime]::ParseExact($invoice, "dd-MMM-yy", $null)
これで、必要な形式で出力できます。
$InvoiceDate.ToString('yyyy-MM-dd')
または
'{0:yyyy-MM-dd}' -f $InvoiceDate
以下が役立つことを願っています!
PS C:\Users\aameer>$invoice = $object.'Invoice Month'
$invoice = "01-" + $invoice
[datetime]$Format_date =$invoice
タイプが変換されるようになりました。メソッドを使用するか、任意のプロパティにアクセスできます。
Example :$Format_date.AddDays(5)