No.1
- 回答日時:
Pealを知らないのに口出しして恐縮ですが、
多分ですが、
($year%4==0 && $year%100!=0 && $year%400==0);
これだと、
「4で割り切れる」かつ「100で割り切れない」かつ「400で割り切れる」
ですよね。
問題は「400で割り切れる」場合ですが、「100で割り切れない」でOUTになってしまうと思います。
『4で割り切れる』かつ『「100で割り切れない」または「400で割り切れる」』
となるようにしないといけないのではないでしょうか。
No.2
- 回答日時:
うるう年かどうかだけの判断でなく、2月の日数も設定するならこうではないでしょうか?
@cdays = (0,31,28,31,30,31,30,31,31,30,31,30,31);
if (($year % 4) == 0){
if (($year %100) != 0){
$cdays[2] = 29;
}elsif (($year % 400) == 0){
$cdays[2] = 29;
}
}
No.3ベストアンサー
- 回答日時:
うるう年は
4で割れて100で割れない時or400で割れる時なので
↓ではないでしょうか?
($year%4==0 && $year%100!=0 || $year%400==0)
だとおもいます。
Perlは専門外なので
「orが||で &&優先カッコ不要ならば」ですけど。
No.4
- 回答日時:
考え方として、
400で割り切れるものは100でも4でも割り切れますので、
それがひとつの判断式に入っているのはおかしいですね。
(100で割り切れないものが400で割り切れる事もありません)
ご質問の式を一言でまとめてしまうと、
「400で割り切れたらうるう年だ」
という事しか言っていない事になります。
集合で考えてみましょう。。
4で割り切れる数の集合があります。
その中から100で割り切れる数の集合を非うるう年とし、
その中から400で割り切れる数の集合をやっぱりうるう年とします。
うるう年の判定は「結局この年はどこの集合に属するのかい?」という
判断をするという事です。
という事を踏まえて考え直してみてはいかがでしょうか。
せっかくですから、ご自分で考えてみるのもいいのではないかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- 英語 英語で「1年半」と言いたい時、「a year and a half/one and a half y 1 2023/07/29 18:11
- Visual Basic(VBA) swiftで年号を 1 2023/02/05 06:48
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
- 英語 毎年繰り返されるものに定冠詞がつく理由 12 2022/11/17 09:32
- 英語 upcoming school year, 近ずきつつある学校生活と訳されていたのですが schoo 2 2022/04/10 14:55
- 英語 the の意味についての質問です。 at certain times of the year 毎年あ 1 2023/05/09 11:34
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PerlからMysqlに接続してデータ...
-
Perlでテキストファイルの読み込み
-
Schemeのプログラミング うる...
-
日付の差分の求め方(日、分)
-
うるう年の出し方
-
時間の計算について
-
当日の日付をプルダウンメニュ...
-
2つの日付・時間の差分を求め...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
CLispのloop内の挙動について
-
文字のカラーとフォントの指定...
-
メモリをアドレスを直接指定し...
-
実行時エラー 3020の対策
-
VBAでPDFのコピーとリネームを...
-
【メモリ不足で落ちる(python)】
-
FindFirst を複数条件で検索
-
どちのほうがすきですか?
-
文字の横にプルダウンを表示さ...
-
セレクトメニューで2つの項目...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perlでsprintf("%02d",$month)...
-
1桁の日付に0を付ける
-
日齢計算プログラム
-
Perlの日付の比較に関して
-
当日の日付をプルダウンメニュ...
-
CSVファイルに出力
-
Cookieの有効期限について
-
日付の差分の求め方(日、分)
-
うるう年の出し方
-
Schemeのプログラミング うる...
-
Perlで60進数を作りたい
-
日付範囲をの連番と月末を取得
-
C言語でのPICプログラミング
-
PHPのstrtotimeのようなものあ...
-
a shower.
-
前日の日付取得するには?
-
2つの日付・時間の差分を求め...
-
体重が3kg増える/減る の英語...
-
ソースの詳細を教えてください。
-
更新記録CGIで「前へ」「次へ」...
おすすめ情報