1. ホーム
  2. powershell

[解決済み] PowerShellで文字列をdatetimeに変換する

2022-03-14 11:22:05

質問

PowerShellを使って、文字列をdatetimeに変換しようとしています。簡単にできるはずですよね?

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')

クリス