- ベストアンサー
曜日の求め方
(年 + ( 年 - 1 ) / 4 - ( 年 - 1 ) / 100 + ( 年 - 1 ) / 400 ) % 7; で、年の元旦の曜日を求められるんですが、 元旦以外の曜日を計算する方法はどの様にすればいいですか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>曜日の偏差(?) 元旦が曜日「3」だとすると 7日後の曜日は、7%7=0で、偏差0(つまり元旦と同じ曜日) n日後の曜日は、n%7で元旦の曜日からのズレで表せます。 で面倒なので、 元旦の曜日をバイアスとして足して (元旦の曜日+n)%7でn日後の曜日が出せますね
その他の回答 (4)
ツェラーの式というのを使います。 http://homepage3.nifty.com/fmikami/koyomi.htm
- age_momo
- ベストアンサー率52% (327/622)
例えば3月15日なら1月、2月の日にちの合計と日を足して1引けばいいです。 31+28+15-1 10月10日なら 31+28+31+30+31+30+31+31+30+10-1 ということです。うるう年は考慮してください。 これを 年 + ( 年 - 1 ) / 4 - ( 年 - 1 ) / 100 + ( 年 - 1 ) / 400 に足してから7の余剰を求めればいいです。 ちなみに月を使って質問の様に方程式で表そうとすると A*月^11+B*月^10+・・・+J*月+K というような11次式になり実際的じゃありません。係数を出すのも面倒ですね。 上のように計算した方が速いでしょう。 あと、もしExcelが使えるなら =weekday(date(2030,10,21)) というような関数を入力する事で曜日が分かりますよ。 例は2030年10月21日の曜日が出ます。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
元旦の曜日が判れば、 元旦からの日数を求めればそれを7の剰余を求めて曜日の偏差(?)がわかるので元旦以外の曜日がわかります
- ymmasayan
- ベストアンサー率30% (2593/8599)
VBですがこんなのがあります。
補足
こんにちは。 ご返事有り難うございました。 曜日の偏差というのは どの様に求めればいいですか?