• ベストアンサー

FlashLite1.1で日数カウントアップ

FlashLite1.1で「基準日よりカウントアップする」という 待ち受けを作ろうと思っているのですが・・・思いつきません(汗) たとえば、『結婚してから○○日目』というように。 私が考えたのは、基準日を設定し(例2007/10/14)この数値を結合して数値に直しひとつの数字にして(20071014)、今日の日付を(例2007/10/31)取得し、基準日同様に数値化し、『本日-基準日+1』という数式を使おうと思ったのですが、これでは、月が替わったり、西暦が変わったりすると、カウントが崩れてしまいます。 どなたか、お知恵をお貸しください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taku2888
  • ベストアンサー率60% (15/25)
回答No.2

追記 (365.25*y)+(y/400)-(y/100)+(30.59*(m-2))+d-678912 ただし、1月、2月は前年の13月、14月として計算する。 かっこ内毎に少数切り捨て。 私はASでこのままの式を試したことがないので 少数処理に弱いASでは合うのか不明です。 VC++ではバッチリなのですが中途半端で申し訳ありません。

HIRO-HORN
質問者

お礼

返事が遅くなり申し訳ありません。 回答ありがとうございました。実際に教えていただいた数式で ASを記述したところ、日数が取得できました。ありがとうございます。(切捨て処理は知識不足で行っていませんが…) ちなみに、この式は『うるう年』も考慮されているのでしょうか(汗)

その他の回答 (2)

  • taku2888
  • ベストアンサー率60% (15/25)
回答No.3

うるう年無視なら(y/400)-(y/100)がいらないと思います。 うるう年で試してみれば一目瞭然かと。 ただ、端数処理していない結果は私には不明です。

HIRO-HORN
質問者

お礼

ありがとうございました。

  • taku2888
  • ベストアンサー率60% (15/25)
回答No.1

ユリウス日を利用します。 現在のユリウス日から基準日のユリウス日を引くと経過日数です。

参考URL:
http://ja.wikipedia.org/wiki/%E4%BF%AE%E6%AD%A3%E3%83%A6%E3%83%AA%E3%82%A6%E3%82%B9%E6%97%A5

関連するQ&A