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

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

日付と時刻の文字列表現を 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 で日時に変換する - 出力

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 で日付時刻に変換 - 出力

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 で日付時刻に変換する - 出力

PowerShell で文字列を DateTime に変換するために Parse を使用する

PowerShell における Parse メソッドは、日付と時刻の文字列表現を DateTime オブジェクトに変換するための強力なツールです。このメソッドは、解析プロセスを正確に制御できるようにし、入力文字列の正確な形式を指定することを可能にします。

形式を明示的に定義することで、Parse メソッドはシステムの地域設定や文化的な違いに関係なく正確な変換を保証します。

$dateString = "2024-02-05"
$date = [datetime]::Parse($dateString)
$date

この例では、Parse メソッドを使用して日付の文字列表現を DateTime オブジェクトに変換する方法を示します。[datetime] タイプアクセラレータ上で Parse メソッドを呼び出すことで、入力文字列 $dateString を解析し、その結果を変数 $date に格納します。

出力:

文字列を日時に変換するには PowerShell で - 出力

結論

PowerShell は、文字列を DateTime オブジェクトに変換するためのいくつかの方法を提供しており、それぞれ異なる要件や好みに応じています。ParseExact でフォーマットを精密に制御したり、明示的な [DateTime] 変換でシンプルさを求めたり、Get-Date で自動解析を行ったり、Parse で細かい制御を行ったりすることで、PowerShell は効率的な日時操作に必要な柔軟性と機能性を提供します。

これらの方法を習得し、それぞれのニュアンスを理解することで、PowerShell ユーザーはスクリプトを合理化し、日付関連のタスクを効果的に処理し、生産性を向上させ、正確なデータ処理を確保することができます。

チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: 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