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
以前の投稿
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 日曜)の判定表記を何とかしたい・・
ではまた;