PowerShellの比較演算子をまとめて把握したいときはないでしょうか。
けど、そんな中で悩むことは、
・PowerShellで日付の比較をしたいが方法がよくわからない
ですよね。
今回はそんなお悩みを解決する
・PowerShellの日付データを比較する方法
についてまとめます!
もくじ
PowerShellの比較演算子一覧
PowerShellの比較演算子一覧は以下の通りです。
PowerShell | 記号 | 意味 |
---|---|---|
-eq | == | 等しい |
-ne | != | 等しくない |
-gt | > | より大きい |
-ge | >= | 以上 |
-lt | < | より小さい、未満 |
-le | <= | 以下 |
値が等しい条件
値が等しい条件を設定する比較演算子は「-eq」となります。
サンプルコマンドです。
$int = 10
$int -eq 10
結果です。
True
値が等しくない条件
値が等しくない条件を設定する比較演算子は「-ne」となります。
サンプルコマンドです。
$int = 10
$int -ne 10
結果です。
False
値がより大きいかの条件
値がより大きいかの条件を設定する比較演算子は「-gt」となります。
サンプルコマンドです。
$int = 10
$int -gt 9
結果です。
True
値が以上かの条件
値が以上かの条件を設定する比較演算子は「-ge」となります。
サンプルコマンドです。
$int = 10
$int -ge 10
結果です。
True
値が未満かの条件
値が未満かの条件を設定する比較演算子は「-lt」となります。
サンプルコマンドです。
$int = 10
$int -lt 11
結果です。
True
値が以下かの条件
値が以下かの条件を設定する比較演算子は「-le」となります。
サンプルコマンドです。
$int = 10
$int -le 10
結果です。
True
PowerShellで日付データを比較する
PowerShellで日付データを比較する方法について説明をします。
文字列を日付型のデータに変える
日付として認識させるため、文字列を日付型のデータに変える必要があります。
以下のようにGet-Dateの引数に日付文字列を指定し、日付データへ変換しましょう。
Get-Date "2023/1/19"
日付データを比較する
日付データを比較するするサンプルコマンドは以下の通りです。
$date1 = Get-Date "2023/1/19"
$date2 = Get-Date "2023/1/20"
$date2 -gt $date1
内容としては$date2 は $date1より大きいかを判定しています。不等号で表すと以下の通りです。
"2023/1/20" > "2023/1/19"
結果です。
True
日付に時間データを加え比較する
次に日付に時間データを加え比較してみましょう。
$date1 = Get-Date "2023/1/20 12:00"
$date2 = Get-Date "2023/1/20 15:00"
$date2 -gt $date1
結果です。
True
念のため同じ日付でより大きいかを比較してみましょう。
$date1 = Get-Date "2023/1/20"
$date2 = Get-Date "2023/1/20"
$date2 -gt $date1
結果です。
False
CompareTo()で日付を比較する
他の日付を比較する方法としてCompareTo()メソッドを使う方法があります。
CompareTo()メソッドは、最初の日付が 2 番目の日付より前の場合は -1、2 つの日付が等しい場合は 0、最初の日付が 2 番目の日付より後の場合は 1 を返します。
サンプルコマンドは以下の通りです。
$date1 = Get-Date "2023/1/19"
$date2 = Get-Date "2023/1/20"
$date2.CompareTo($date1)
結果です。
1
さいごに
いかがでしょうか。
今回は、
・PowerShellの日付データを比較する方法
についてまとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す