プロが教える店舗&オフィスのセキュリティ対策術

現在の月頭の日の曜日を求める方法はないでしょうか?
例)現在は1月なので1/1の曜日 => 火曜

A 回答 (3件)

グレゴリー暦の「ツェラーの公式」を使うのが常套手段です。


西暦y年m月d日の曜日は、
( y + y/4 -y/100 + y/400 + (( 13 * m + 8 ) / 5 ) + d ) %7 )
で計算して結果が「0」なら日曜日、「1」なら月曜日・・・「6」なら土曜日になります。
↓実際の例です。
sub getDayOfWeek{
my($year, $month, $day) = @_;
# 1月または2月の場合は前年の13月および14月とみなす
if ($month <= 2) {
--$year;
$month += 12;
}
return (($year + int($year/4) - int($year/100) + int($year/400)
+ int((13*$month + 8)/5) + $day) % 7);
}

ただし、1582年10月15日(金)午後以後にしか有効ではありません。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
サブルーチンまで丁寧に紹介していただき
大変助かりました。
また何かありましたら宜しくお願い致します。

お礼日時:2002/01/07 13:38

すいません!!


最新の質問を見ていてカテゴリーをよく見ずに回答してしまいました...。
    • good
    • 0

手計算でなくてもいいんですよね?


だったらExcelを使うと簡単に調べることができますよ。
セルに日付を入力して、右クリック、セルの書式設定、
ユーザー定義、aaaa としてみてください。
例:
A列 B列=A1
2002/1/1火曜日
2002/2/1金曜日
2002/3/1金曜日
2002/4/1月曜日
2002/5/1水曜日
2002/6/1土曜日
...

ちなみに aaa にすると曜日の一文字だけになりますよ。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
残念ながら今回は使う機会はありませんが、
EXCELでこのような使い方があると勉強になりました。
また何かありましたら宜しくお願い致します。

お礼日時:2002/01/07 13:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!