2009-09-01

http://anond.hatelabo.jp/20090831011511

標準モジュールの使用ありなら、なんでdatetime使わないんだ?

#!/usr/bin/python
# coding: utf-8

import datetime

dt1 = datetime.datetime(2009, 9, 1, 2, 34, 56) # 2009年9月1日2時34分56秒
dt0 = datetime.datetime(1, 1, 1) # 1年1月1日0時0分0秒
delta = dt1 - dt0
print delta.days * 3600 * 24 + delta.seconds

ちなみに、閏秒なんて言っちゃ嫌です。

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

    • 標準モジュールの使用ありなら、なんで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...

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

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

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

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

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