PowerShell の ParseExact による日時の解析
PowerShell で日付を操作しているときに、日付文字列を DateTime
オブジェクトに変換する必要がある場合があります。日付文字列を使用して DateTime 操作を実行することはできません。DateTime
オブジェクトが必要になります。
このチュートリアルでは、PowerShell で文字列を解析して DateTime 形式に変換する方法を説明します。
PowerShell で ParseExact
メソッドを使用して DateTime を解析する
DateTime
クラスの ParseExact
メソッドは、日付と時刻の文字列を DateTime 形式に変換します。日付と時刻の文字列パターンの形式は、DateTime
オブジェクトの指定された形式と一致する必要があります。
次の例では、ParseExact
メソッドを使用して、日付文字列を DateTime
オブジェクトに変換します。
$strDate = '2022/06/11'
[DateTime]::ParseExact($strDate, 'yyyy/MM/dd', $null)
上記のスクリプトでは、日付の文字列は変数 $strDate
に格納されています。次に、ParseExact
メソッドに渡され、続いて日付文字列のパターンに一致する DateTime 形式が渡されます。
出力:
11 June 2022 00:00:00
変換された DateTime 形式を変数に格納し、GetType()
メソッドを使用してデータタイプを確認できます。
$strDate = '2022/06/11'
$newDate=[Datetime]::ParseExact($strDate, 'yyyy/MM/dd', $null)
$newDate.GetType()
出力:
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True DateTime System.ValueType
PowerShell で DateTime を解析するために明示的な型変換を使用する
PowerShell で日付と時刻の文字列を DateTime
形式にキャストすることもできます。
この構文を使用して、DateTime
オブジェクトに文字列をキャストできます。
[DateTime]string
次の例では、日付と時刻の文字列表現をキャスト式を使用して DateTime
オブジェクトに変換します。
$strDate = "2022-06-11 09:22:40"
[DateTime]$strDate
出力:
11 June 2022 09:22:40
DateTime
オブジェクトを使用すると、任意の DateTime 操作を実行できるはずです。このチュートリアルが、PowerShell で文字列を DateTime 形式に変換する方法を理解するのに役立つことを願っています。