2021/02/27 #勤務表を作る#3

皆様おはようございます、

#猫でもできるPowerShell(備忘録)

#勤務表を作る#3

$firstDay = '2021/03/01'
$openTime = '09:00'
$closeTime = '17:30'

$ad = '(Get-Date $firstDay).AddDays($_)'
$DW = $ad + '.DayOfWeek'
%{0..30} |
select `
@{la='Date_2' ; ex={'D'+ "{0:D2}" -f ($_+1)}}, #2桁のゼロ詰め
@{la='Date_3' ; ex={'D'+ "{0:D3}" -f (iex $ad).DayOfYear}}, #3桁のゼロ詰め
@{la='日付' ; ex={Get-Date (iex $ad) -F yyyy/MM/dd}},
@{la='曜日' ; ex={iex $DW}},
@{la='開始時刻'; ex={if ((iex $DW) -eq 'sunday') {}
 elseif((iex $DW) -eq 'saturday') {}
 else {$openTime}} },
@{la='終了時刻'; ex={if ((iex $DW) -eq 'sunday') {}
 elseif((iex $DW) -eq 'saturday') {}
 else {$closeTime}} },
@{la='経費' ; ex={}},
@{la='備考' ; ex={}} |
Out-GridView

f:id:TPTPTb:20210228010527p:plain

 

以前の投稿

2021/02/22 #勤務表を作る#2 の改良版です。

変更点:

1.31回転させる表記を %{1..31} から %{0..30} に変更

  それに合わせて ($_-1) から ($_) に変更

2.繰り返されていた表記 

  '(Get-Date $firstDay).AddDays($_)' あるいは

  '(Get-Date $firstDay).AddDays($_).DayOfWeek' を短い変数とする

3.(2.の表記)を展開する際、頭に iex (Invoke-Express)を付ける  

 

それなりにシンプルになりましたが、(土曜 or 日曜)の判定表記を何とかしたい・・

ではまた;