アカウント名:
パスワード:
こんな典型的な「『車輪の再発明』の連鎖」が、21世紀になってもまだ解決されてないとか、もうね…。
DateTime d = new DateTime(2012, 2, 29);Console.WriteLine(d);Console.WriteLine(d.AddDays(365));Console.WriteLine(d.AddYears(1));
ふつーに書けばふつーに正しく計算するのだけど、やっぱり車輪の再発明をしていたのだろうね。
DateTime d = new DateTime(2012 + 1, 2, 29);これで例外をcatchしてなかったんじゃね?
2012/1/1〜2/28に呼ばれることも考慮する必要があるから、
Console.WriteLine(d.AddDays(365));
は、1年を満たさないという例?
$d =`date -d "2012-02-29 1year" "+%Y-%m-%d"`;これは「ふつー」じゃない?
月末日を求めるのに、一生懸命条件分岐で処理するコードって、困った事によく見かけるんですよね・・・
# 月が1,3,5,7,8,10,12は31、2は年を4で割った余りが(以下略)なんてifの羅列が
年、月、日とシリアル値の相互変換ができる言語なら、[翌月1日]-[1日]でいいじゃんと思いつつスルーしていますが。
> [翌月1日]-[1日]でいいじゃんそして翌月を求めるところで単に月に1を足してバグると。
日付型使っても[翌月1日]のところを「1日を求める」→「翌月を求める」の順に処理しないとバグることがあるよ(日付型の仕様にもよるが)。「こんな簡単なことも…」とか言ってる奴に限ってこんな簡単なことをミスる。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ研究家
なんという・・ (スコア:1)
日付型すら使っていないとか、予想よりはるかに低レベルで驚いた。
Re:なんという・・ (スコア:0)
こんな典型的な「『車輪の再発明』の連鎖」が、21世紀になってもまだ解決されてないとか、もうね…。
Re:なんという・・ (スコア:2)
DateTime d = new DateTime(2012, 2, 29);
Console.WriteLine(d);
Console.WriteLine(d.AddDays(365));
Console.WriteLine(d.AddYears(1));
ふつーに書けばふつーに正しく計算するのだけど、やっぱり車輪の再発明をしていたのだろうね。
Re: (スコア:0)
DateTime d = new DateTime(2012 + 1, 2, 29);
これで例外をcatchしてなかったんじゃね?
Re: (スコア:0)
2012/1/1〜2/28に呼ばれることも考慮する必要があるから、
Console.WriteLine(d.AddDays(365));
は、1年を満たさないという例?
$d =`date -d "2012-02-29 1year" "+%Y-%m-%d"`;
これは「ふつー」じゃない?
Re: (スコア:0)
月末日を求めるのに、一生懸命条件分岐で処理するコードって、困った事によく見かけるんですよね・・・
# 月が1,3,5,7,8,10,12は31、2は年を4で割った余りが(以下略)なんてifの羅列が
年、月、日とシリアル値の相互変換ができる言語なら、[翌月1日]-[1日]でいいじゃんと思いつつスルーしていますが。
Re:なんという・・ (スコア:1)
> [翌月1日]-[1日]でいいじゃん
そして翌月を求めるところで単に月に1を足してバグると。
Re: (スコア:0)
日付型使っても[翌月1日]のところを「1日を求める」→「翌月を求める」の順に処理しないとバグることがあるよ(日付型の仕様にもよるが)。
「こんな簡単なことも…」とか言ってる奴に限ってこんな簡単なことをミスる。