OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

月頭の日の曜日を取得する方法

  • 困ってます
  • 質問No.193095
  • 閲覧数139
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

現在の月頭の日の曜日を求める方法はないでしょうか?
例)現在は1月なので1/1の曜日 => 火曜
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 25% (453/1783)

グレゴリー暦の「ツェラーの公式」を使うのが常套手段です。
西暦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日(金)午後以後にしか有効ではありません。
お礼コメント
noname#149114

アドバイスありがとうございます。
サブルーチンまで丁寧に紹介していただき
大変助かりました。
また何かありましたら宜しくお願い致します。
投稿日時 - 2002-01-07 13:38:48
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.2
レベル11

ベストアンサー率 56% (198/351)

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

ちなみに aaa にすると曜日の一文字だけになりますよ。
お礼コメント
noname#149114

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


  • 回答No.3
レベル11

ベストアンサー率 56% (198/351)

すいません!! 最新の質問を見ていてカテゴリーをよく見ずに回答してしまいました...。
すいません!!
最新の質問を見ていてカテゴリーをよく見ずに回答してしまいました...。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ