PowerShell で文字列を日時に変換する

Rohan Timalsina 2023年1月30日
  1. PowerShell で文字列を DateTime に変換するには、ParseExact を使用する
  2. PowerShell で明示的な変換を使って文字列を DateTime に変換する
PowerShell で文字列を日時に変換する

String と DateTime は、PowerShell の 2つの異なるデータ型です。このチュートリアルでは、PowerShell で文字列を DateTime に変換する 2つの方法を紹介します。

PowerShell で文字列を DateTime に変換するには、ParseExact を使用する

ParseExact メソッドは、指定された日付と時刻の文字列を DateTime データ型に変換するのに役立ちます。

文字列形式の日付を含む変数 $date があります。

$date = "2021/12/25"

GetType() メソッドを使用してデータ型を確認できます。

$date.GetType()

出力:

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     String                                   System.Object

文字列を DateTime に変換してみましょう。変換する場合、文字列の日付と時刻の形式は、DateTime で指定された形式と一致する必要があります。

ここで、ParseExact は文字列の日付を DateTime 形式 yyyy/MM/dd に変換します。

$a = [datetime]::ParseExact($date, 'yyyy/MM/dd', $null)
$a

出力:

Saturday, December 25, 2021 12:00:00 AM

次に、変数 $a のデータ型を確認します。

$a.GetType()

出力:

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     DateTime                                 System.ValueType

PowerShell で明示的な変換を使って文字列を DateTime に変換する

文字列を DateTime 形式にキャストすることで、PowerShell で文字列を DateTime に変換できます。

$b = [DateTime]$date
$b

出力:

Saturday, December 25, 2021 12:00:00 AM

データ型を確認します。

$b.GetType().Name

出力:

DateTime
著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

関連記事 - PowerShell DateTime