2009-08-31

http://anond.hatelabo.jp/20090831062736

閏年が考慮されてるように見えないのなら、ちゃんとソース読むところからはじめないと駄目だと思うが。

なぜcalendarをインポートしてるかって言うと、以下の一文入れるから。

ans = year * YEAR_sec + calendar.leapdays(0, year)*DAYS_sec

leapdays(x, y)は、xからyの間の閏年の数を返す。

というか実際に走らせれば検算できるだろう。codepadあたりに張って動かしてみ。

記事への反応 -
  • ファンタジックな処理だと思うけど、コード自動生成ツールで作ったんかなあ。 pythonだとこんな感じになると思ふ もっとエレガントにかけるやもしれんが import calendarDAYS_sec = 60*60*24YEAR_s...

    • 閏年は考慮されてるようにみえないけど?

      • 閏年が考慮されてるように見えないのなら、ちゃんとソース読むところからはじめないと駄目だと思うが。 なぜcalendarをインポートしてるかって言うと、以下の一文入れるから。 ans = yea...

    • 西暦0年とかX月0日とか存在しないよ。 yearとdayは掛け算の前に-1すべきだと思う。

    • 標準モジュールの使用ありなら、なんでdatetime使わないんだ? #!/usr/bin/python# coding: utf-8import datetimedt1 = datetime.datetime(2009, 9, 1, 2, 34, 56) # 2009年9

      • datatimeって2.0系列で閏年の扱いが曖昧だからじゃね。 leapdays()のバグ(こっちは2.0だと直ってる)と同じく、timedeltaのdaysって400で割り切れる年を平年と見なす(本来は閏年)バグが入って...

        • Python 2.5.2 (r252:60911, Sep 30 2008, 15:41:38) [GCC 4.3.2 20080917 (Red Hat 4.3.2-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information.import datetimedays = lambda year: (datetim...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん