• 締切済み

flashlite2.0で月換算のカウントアップの待受を作りたい

FLASHさわり初めて半年の超初心者です。 「結成から○年と○ヶ月○日目」みたいな感じの カウントアップを表示したいのですが参考資料が少なく困ってます。 日数換算で「○日目」と表示する場合は以下の方法で解決しました。 http://okwave.jp/qa4653906.html ここからの応用ですと助かります。 例えば指定日が2008/3/22の場合、 Dateクラス(Dateオブジェクト)を使った方法では指定日から 現在までを月や年に換算することはできないように思いますしfscommand2で年月日を取得した場合も 1日~21日までと22日以降の場合でカウントの仕方を変えたり、うるう年もありと果てしないように思います。 記述の仕方はわからないのですが 例でいえば【現在日時が22日になった日】の回数を○ヶ月に反映し その回数を12で割って、切捨てて年に換算することはできますか? また次の【22日】までを単純に24時間ごとにカウントできれば 月の日数に関係なくカウントアップできると思うのですがどうでしょうか? 記述例があれば非常に助かります。よろしくお願いします!

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

閏年は全く考えないものとします。 たとえば 3月31日 の 1ヶ月と1日前 というのは何月何日になるのでしょうか? (2月28日? 2月27日?) また 3月30日の 1ヶ月と1日前 というのは何月何日になるのでしょうか? (2月28日? 2月27日?) また 3月29日の 1ヶ月と1日前 というのは何月何日になるのでしょうか? (2月28日? 2月27日?) 今日もです。 今日(1月30日)の1ヶ月後は何月何日になるのでしょうか? (2月28日? 3月1日? 3月2日?) これを考えただけでも答えは出ないとわかるのではないでしょうか。 定義のしかたによっては,何か明確な答えが出るのかもしれません。 しかしその定義は個人などがその場限りで決めた勝手なルールに過ぎないものだと思います。 「結成から○年と○ヶ月○日目」は Flash Lite1.1の問題でも2.0の問題でもPCの問題でも人間の計算力の問題でも何でもなく算出不可能なものだと思います。 日常生活においても,そもそもそんな変な言い方はしません。 「だいたい3年前」 とか 「あれから2年半が経つね」 とか, そういう好い加減な人間の感性の中で初めて 「結成から○年と○ヶ月くらい」 が出るだけだと思います。 好い加減なだいたいの数なら出せますよね。 結成日からの日数を365で割ったらだいたいの年が出ます。 その余りを30で割ればだいたいの月数が出ます。 その辺まででしょう。 それ以上詳細に出してもそれがいつなのかわからない日になってしまいます。

hiropanman
質問者

お礼

お返事ありがとうございました! 説明が不足しており申し訳ありません。 1/20の一ヵ月後は2/20ですよね、じゃあ1/30の一ヵ月後は 「いつだろう?」となるのは自然にそれが示す日が 「2/30(存在しない日)」という理解になるからだと思います。 つまり次の月の同じ日を一ヵ月後だという認識が 強いのではないでしょうか?と考え、 僕が希望してるのは「1ヶ月後=次の月の同じ日」と考えた場合です。 指定した日がくると月が加算され、 指定した日から日が加算され、 それぞれが表示できるかどうかということです。 ですのでこの方法ですと29日~31日は指定できなくなりますが 問題はありません。 事例としては付き合い始めた記念日とかがイチバン身近だと思います。

関連するQ&A