アプリ版:「スタンプのみでお礼する」機能のリリースについて

http://www2f.biglobe.ne.jp/~takan/javac/examples …
このページのSeven Daysを参考にして、曜日に合わせたメッセージを表示する方法は分かったのですが、
曜日(=7日周期)ではなく、5日周期でメッセージの表示がしたいのです。
sevendays[5]とsevendays[6]を削ったら、[4]の次は[1]にループしてくれるんじゃないかという単純な発想では全然駄目で詰まってしまいました。
そもそもgetDayは曜日取得なんだから全然別の方法を取らないといけないんじゃないかと思ってはいますがさっぱりわかりません。
ご教示お願いします。

A 回答 (1件)

日を取得して、それを5で割り余りを求めれば、必ず 0~4 の何れかの数値になりますので、この手法はいかがでしょう。



ただし、普通に getDate() で日を取得すると、1月31日と2月1日というように、連続して余りが1になる日が現れるので、適当な日付を初期値に設定し、その日から日数をカウントして5で割った余りを求めれば、5日単位で画像がループして切り替わります。

以下、参考スクリプト

today = new Date();
initDate = new Date(2010,0,1); // 2010年1月1日を初期日に設定
count = ( today.getTime() - initDate.getTime() ) / (24*60*60*1000);
cnt = Math.ceil(count);
surplus = cnt%5;

これで surplusの値が 0~4 の何れかの値が得られますので、あとはその値に応じた条件分岐を作ればOKです。
    • good
    • 0
この回答へのお礼

上手く行きました!今後も同じようなものを作る時は参考にさせていただきます。
ありがとうございました。

お礼日時:2010/01/26 23:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!