2017年8月10日

【PowerShell】生年月日から現在の年齢を取得するスクリプト


生年月日から現在の年齢を取得するスクリプトを作ってみました。

#################################################################
## Get-Age.ps1
## 
## 現在の年齢を取得する。
#################################################################
Param([System.String] $birthday)

#誕生日から年、月、日を取得
$a = $birthday.Split('/')
$y = $a[0] 
$m = $a[1]
$d = $a[2]

#今日の日付を取得
$today = Get-Date

#比較用の日付を作成
$date1 = New-Object System.DateTime $today.Year, $today.Month, $today.Day
$date2 = New-Object System.DateTime $today.Year, $m, $d

if ($date1 -ilt $date2)
{
    #今年の誕生日を過ぎてなければ、年数から1引いた数を年齢とする。
    $age = $today.Year - $y -1
}
else{
    #今年の誕生日を迎えていれば、年数をそのまま年齢とする。
    $age = $today.Year - $y
}

Write-Host $age

実行結果
PS C:\work\PowerShell> .\Get-Age.ps1 2000/8/10
17



スポンサーリンク