[Powershell]日付から曜日を取得する

日付から曜日を取得するには、[DateTime]のDayOfWeekを見ます。

([DateTime]("2015/01/01")).DayOfWeek

DayOfWeekプロパティにはSystem.DayOfWeek列挙体が入っていますので、曜日の文字列を取得したいなら文字列に変換します。

[System.Convert]::ToString(([DateTime]("2015/01/01")).DayOfWeek)

この場合、DayOfWeek列挙体のラベルを取得するので、”Thursday”という文字列が返ってきます。他の曜日はこちら(→MSDN)を参照してください。

数字で取得したい場合は、Int32に変換します。

[System.Convert]::ToInt32(([DateTime]("2015/01/01")).DayOfWeek)

日曜日を0とした順の数字が返ってきます。上記例では”4″が返ります。
ちなみに、下記コードでも同じ値がとれます。

(Get-Date).dayofweek.value__

ただ、value__はCLI内部のpublicフィールドなので(参照)、積極的に使うのはちょっとどうかな?という感じです。使い捨てスクリプトならアリかな?

コメントを残す