![[tips][bat] バッチで「ツェラーの公式」による曜日の計算をする。](https://casualdevelopers.com/wp-content/uploads/2014/01/learn-2405206_1920-700x300.jpg)
「ツェラーの公式」というのは曜日を計算するための公式です。詳しくはWikipediaに任せて、ここではバッチでのコードをお見せします。
以下がバッチのツェラーの公式のコードです。
:set_week set TODAY=%date% REM 日付の分解 set /a h=%TODAY:~0,2% set /a y=%TODAY:~2,2% set m1=%TODAY:~5,1% set m2=%TODAY:~6,1% if "%m2%" equ "/" ( set /a m=m1 set /a d=%TODAY:~7,2% ) else ( set /a m=m1*10+m2 set /a d=%TODAY:~8,2% ) if %m%==1 ( set /a y-=1&set /a m+=12 ) if %m%==2 ( set /a y-=1&set /a m+=12 ) REM ツェラーの公式 set /a week_value=( y + (y/4) + (h/4) - 2*h + (13*(m+1)/5) + d ) %% 7 REM 曜日の設定 if %week_value%==0 set WEEK=SAT if %week_value%==1 set WEEK=SUN if %week_value%==2 set WEEK=MON if %week_value%==3 set WEEK=TUE if %week_value%==4 set WEEK=WED if %week_value%==5 set WEEK=THU if %week_value%==6 set WEEK=FRI exit /b
「WEEK」という環境変数に結果が格納されているので、以下で確認できます。
@echo off call :set_week echo %WEEK% pause
曜日の計算方法はたまに役に立つことがありますから、知っていて損はないでしょう。まあ、バッチである必要はまったくないんですけどね。
<環境>
OS : Windows7
The following two tabs change content below.

世界を旅し日本を愛するエンジニア。大学でコンピュータサイエンスの楽しさを学び、日本の大手IT企業で働く中で、新しい技術やスケールするビジネスが北米にある事に気づく。世界に挑戦するための最大の壁が英語であったため、フィリピン留学およびカナダ留学を経て英語を上達させた。現在は日本在住でエンジニアとして働きつつ、次の挑戦に備えて世界の動向を注視している。挑戦に終わりはない。このブログでは、エンジニアやデザイナー向けの技術情報から、海外に留学したい人向けの留学情報、海外に興味がある人向けの海外旅行情報など、有益な情報を提供しています。

コメントを残す