Get-Dateコマンドレットで、当日、指定日付の曜日を取得するサンプルを以下に記します。
Get-Dateコマンドレットで返却される当日のDateTimeおぷじぇくとのDayOfWeekプロパティの値を表示するサンプルです。
PS C:\> (Get-Date).DayOfWeek Friday
以下の例は、2020/1/1を日付として設定し、設定した日付の曜日を取得するサンプルになります。
PS C:\> (Get-Date "2020/1/1").DayOfWeek Wednesday
構文は以下のようになります。
(Get-Date "日付").DayOfWeek
値で曜日を取得する場合は、value__を使用します。(ダブルアンダースコアです)
PS C:\> (Get-Date "2020/1/1").DayOfWeek.value__ 3
PS C:\> (Get-Date).DayOfWeek.value__ 5
以下、一週間分の曜日および、曜日に対する値を出力するサンプルになります。
PS C:\> $day = Get-Date PS C:\> for ($i=1; $i -le 7; $i++) { >> $sd = $day.ToShortDateString() >> $sw = $day.DayOfWeek >> $nw = $day.DayOfWeek.value__ >> "{0,10} {1,-9} {2,1}" -f $sd, $sw, $nw >> $day = $day.AddDays(1) >> } 2018/04/06 Friday 5 2018/04/07 Saturday 6 2018/04/08 Sunday 0 2018/04/09 Monday 1 2018/04/10 Tuesday 2 2018/04/11 Wednesday 3 2018/04/12 Thursday 4
上記のメソッドやプロパティで、曜日が取得できる仕組みを以下に記します。
PS C:\> $d = Get-Date PS C:\> $d.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True DateTime System.ValueType
PS C:\> $d | Get-Member TypeName: System.DateTime Name MemberType Definition ---- ---------- ---------- Add Method datetime Add(timespan value) AddDays Method datetime AddDays(double value) AddHours Method datetime AddHours(double value) <省略 DayOfWeek Property System.DayOfWeek DayOfWeek {get;} <省略> TimeOfDay Property timespan TimeOfDay {get;} Year Property int Year {get;} DateTime ScriptProperty System.Object DateTime {get=if ((& { Set-StrictMode -Version 1; $this.DisplayHin...
PS C:\> $d.DayOfWeek.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True DayOfWeek System.Enum
PS C:\> $d.DayOfWeek | Get-Member TypeName: System.DayOfWeek Name MemberType Definition ---- ---------- ---------- CompareTo Method int CompareTo(System.Object target), int IComparable.CompareTo(System.Object obj) Equals Method bool Equals(System.Object obj) <省略> value__ Property int value__ {get;set;}
以上の調べ方により、使用できるメソッドやプロパティを知ることができます。