本日の曜日(日曜日〜土曜日)を取得するサンプルコードの紹介です。
Windows バッチには純粋には曜日を計算する機能はなさそう。ツェラーの公式を使用して計算する。2000年以後を想定。
日曜日・・・1
月曜日・・・2
火曜日・・・3
水曜日・・・4
木曜日・・・5
金曜日・・・6
土曜日・・・7
(*)日曜日=1 を基準として表示される。
サンプル:
@rem 西暦の下二桁を取得
set /A YYYY=%DATE:~0,4% * 1
@rem 月を取得
set /A MM=%DATE:~5,2% * 1
@rem 日を取得
set /A DD=%DATE:~8,2% * 1
@rem 1月か2月なら年数を引いて月に12を足す ("ツェラーの公式"により 1月と2月は、前年のそれぞれ13月、14月として扱うため)
if %MM% LEQ 2 (
set /A YYYY=%YYYY% - 1
set /A MM=%MM% + 12
)
set /A YOUBI=(%YYYY% + %YYYY% / 4 - %YYYY% / 100 + %YYYY% / 400 + (13 * %MM% + 8) / 5 + %DD%) %% 7
set /A YOUBI=YOUBI
@echo %YOUBI%
実行例:
5
日曜日・・・0
月曜日・・・1
火曜日・・・2
水曜日・・・3
木曜日・・・4
金曜日・・・5
土曜日・・・6
(*)日曜日=0 を基準として表示される。
サンプル:
(Get-Date).DayOfWeek
実行例:
Thursday
サンプル:
[System.Convert]::ToInt32((Get-Date).DayOfWeek)
実行例:
4
日にちを指定して確認。
サンプル:
([DateTime]("2018/3/22")).DayOfWeek
日曜日・・・1
月曜日・・・2
火曜日・・・3
水曜日・・・4
木曜日・・・5
金曜日・・・6
土曜日・・・7
(*)日曜日=1 を基準として表示される。
サンプル:
WScript.Echo(WeekDay(Date))
実行例:
7
月曜日・・・0
火曜日・・・1
水曜日・・・2
木曜日・・・3
金曜日・・・4
土曜日・・・5
日曜日・・・6
(*)月曜日=0 を基準として表示される。
サンプル:
import datetime
nowday = datetime.datetime.now()
print (nowday.weekday())
実行例:
3
サンプル:
C:\cygwin\bin\date +%A
実行例:
Thursday