PowerShell で文字列を日時に変換する方法
-
PowerShell で文字列を
DateTime
に変換するためにParseExact
を使用する -
PowerShell で文字列を
DateTime
に変換するために明示的な変換を使用する -
PowerShell で文字列を
DateTime
に変換するためにGet-Date
コマンドレットを使用する -
PowerShell で文字列を
DateTime
に変換するためにParse
を使用する - 結論

日付と時刻の文字列表現を DateTime
オブジェクトに変換することは、PowerShell スクリプトで一般的な作業であり、多様なソースやフォーマットからのデータを扱う際によく見られます。この技術ガイドでは、この作業を達成するためのさまざまな方法を探ります。各方法には独自の利点があります。
ParseExact
メソッドの精度から、明示的な [DateTime]
変換のシンプルさ、Get-Date
コマンドレットの汎用性まで、異なるシナリオや好みに応じた複数のアプローチをカバーします。さらに、強力な Parse
メソッドについても掘り下げ、それぞれの方法を包括的に理解するための詳細な説明、構文、および実用的なコード例を提供します。
PowerShell で文字列を DateTime
に変換するために ParseExact
を使用する
日時の文字列表現を DateTime
オブジェクトに変換することは、特にさまざまなソースやフォーマットのデータを扱う際に、PowerShell スクリプトで一般的な作業です。この達成方法の一つは、ParseExact
メソッドを使用することで、入力文字列の正確な形式を指定し、変換プロセスをより正確に制御することができます。
$dateString = "2024-02-05"
$date = [datetime]::ParseExact($dateString, "yyyy-MM-dd", $null)
$date
提供された PowerShell コードスニペットでは、ParseExact
メソッドを利用して日付の文字列表現である "2024-02-05"
を DateTime
オブジェクトに変換しています。入力文字列の正確な形式を "yyyy-MM-dd"
と指定することで、システムの日付設定や文化的な違いに影響されずに正確な変換を実現します。
変換された DateTime
オブジェクトは $date
変数に格納され、解析された日付を正確に表します。そのため、その後の操作にシームレスに統合することができます。$date
を出力すると、期待される出力が得られ、成功した変換が確認できます。
出力:
PowerShell で文字列を DateTime
に変換するために明示的な変換を使用する
PowerShell の明示的な [DateTime]
メソッドは、文字列を DateTime
オブジェクトに直接変換するためのタイプアクセラレータです。使用すると、提供された文字列を追加の解析やフォーマット指定なしで DateTime
値として解釈するよう PowerShell に指示します。
このメソッドは、入力文字列が標準的な日付形式、例えば ISO 8601
(例: "YYYY-MM-DD"
)に従っている場合に特に便利で、変換プロセスを簡素化し、コードの可読性を向上させます。
$dateString = "2024-02-05"
[DateTime]$date = $dateString
$date
この提供された PowerShell コードスニペットでは、明示的な [DateTime]
メソッドを使用して、文字列 "2024-02-05"
を DateTime
オブジェクトに変換しています。文字列変数 $dateString
を [DateTime]
タイプアクセラレータで $date
変数に単純に割り当てることで、PowerShell は自動的にその文字列を DateTime
オブジェクトに変換します。
$date
を出力すると、期待される出力が得られ、成功した変換が確認できます。
出力:
PowerShell で文字列を DateTime
に変換するために Get-Date
コマンドレットを使用する
PowerShell では、Get-Date
コマンドレットは現在の日付と時刻を取得するだけでなく、日付と時刻の文字列表現を DateTime
オブジェクトに変換するためにも使用されます。この柔軟性により、Get-Date
は PowerShell スクリプトにおける日付関連の操作を扱うのに便利なツールです。
文字列引数が提供されると、Get-Date
は自動的にそれを DateTime
オブジェクトに解析し、さまざまなフォーマットの日時文字列を標準化された DateTime
フォーマットに変換するのを簡単にします。
$dateString = "2024-02-05"
[DateTime]$date = $dateString
$date
このコードスニペットでは、日付を "YYYY-MM-DD"
形式で含む文字列変数 $dateString
があり、Get-Date
コマンドレットを利用してこの文字列を DateTime
オブジェクトに変換し、変数 $date
に割り当てています。
Get-Date
コマンドレットは、文字列 $dateString
を日付として自動的に解釈し、対応する DateTime
オブジェクトに解析します。
出力:
PowerShell で文字列を DateTime
に変換するために Parse
を使用する
PowerShell における Parse
メソッドは、日付と時刻の文字列表現を DateTime
オブジェクトに変換するための強力なツールです。このメソッドは、解析プロセスを正確に制御できるようにし、入力文字列の正確な形式を指定することを可能にします。
形式を明示的に定義することで、Parse
メソッドはシステムの地域設定や文化的な違いに関係なく正確な変換を保証します。
$dateString = "2024-02-05"
$date = [datetime]::Parse($dateString)
$date
この例では、Parse
メソッドを使用して日付の文字列表現を DateTime
オブジェクトに変換する方法を示します。[datetime]
タイプアクセラレータ上で Parse
メソッドを呼び出すことで、入力文字列 $dateString
を解析し、その結果を変数 $date
に格納します。
出力:
結論
PowerShell は、文字列を DateTime
オブジェクトに変換するためのいくつかの方法を提供しており、それぞれ異なる要件や好みに応じています。ParseExact
でフォーマットを精密に制御したり、明示的な [DateTime]
変換でシンプルさを求めたり、Get-Date
で自動解析を行ったり、Parse
で細かい制御を行ったりすることで、PowerShell は効率的な日時操作に必要な柔軟性と機能性を提供します。
これらの方法を習得し、それぞれのニュアンスを理解することで、PowerShell ユーザーはスクリプトを合理化し、日付関連のタスクを効果的に処理し、生産性を向上させ、正確なデータ処理を確保することができます。