« M:i:III | メイン | 夏休み日記(1日目) »

2006年08月18日

日付計算

アルゴリズムに悩み中。

ものすごく簡単なことなんだけど、計算オーダーの少なさと設計のシンプルさを重点したくて

概要:基準の日付、日数の差を指定した時の日付を知りたい。

入力: 日付、日数差(出来れば負も)←この数値はかなりでかい。
出力: 日付

※ 日付は { 年、月、日 } で構成。

ただ、これだけなんだけど、毎年ぐるぐるとうるう年計算して差を縮めるしか思いつかない・・・。

誰か、綺麗なモジュール設計を自慢してくれませんか?

(今、思いついたのは400年or100年or4年離れているか、で計算が有力・・・)

投稿者 toki : 2006年08月18日 00:20

トラックバック

このエントリーのトラックバックURL:
http://chrono.s9.xrea.com/MT/mt-tb.cgi/224

コメント

1970年以降で良ければepochからの日付を使う。

daysToDate((dateToDays(年, 月, 日) + 差)

使えるか知らんけど、mktime() とかあればすぐだと思う。

投稿者 da01 : 2006年08月19日 00:55

あ、ライブラリは利用できない状況で・・・
ライブラリを作るイメージです。
基本的な制御構文しかないスクリプト上で書く感じです。

投稿者 Toki : 2006年08月19日 03:33