2012-03-26 21 views
0

アプリに基づいサイクルで一日を選んではそうのような日の任意のセットを定義することがユーザーに許可する:開始日と現在の日付

  • 1日目 - 花
  • 2日目を選びます - コーヒー
  • 3日目がある - 日のこのセットは、一つだけのエントリを有することができる

を泳いで行くか、それは多くを有することができます。このサイクルが2010年3月23日に始まるとします。

サイクル内のどの日が特定の暦日に対応するかを決定する一般的なアルゴリズムはありますか?月24日

、アルゴリズムは、3月25は、3日目でなければなりません2日目返す必要があります3月26日には1日目であるべき、というように...

具体的には、私はこのコードを書いていますココア塗布。だから、より一般的なテクニックの存在を除いて、カレンダーのクラスは私を助けることができますか?

答えて

3

daysに、開始日から経過した日数が含まれるようになりました。これは、アクティビティの配列のインデックス(ゼロベース)として使用できます。モジュラス演算子は、サイクルの長さを被除数として使用して、サイクルの最初の通過後にインデックスを計算することができます。

+0

日付を扱うためのCocoaコードを提供していただき、ありがとうございます。 'days'を取得したら、サイクルの日数を計算して正しい配列インデックスを取得することができます。 – GloryFish

+1

確かに。私はその事実を含めるために私の答えを修正しました。 – warrenm

1

開始日と現在の日付のJulian date(またはその変形)を計算します(この部分は読者の練習として残してあります)。サイクルの当日は(currentDate - startDate) % lengthOfCycle + 1です。

+0

これはそれです。むしろ実際はシンプルです。ありがとう! :) – GloryFish

0

これを入力した後、私は答えを見つけ出しました。それは簡単です。

開始日と現在の日付の間の日数を計算し、その数値をサイクルの合計日数に換算して現在の日を計算します。簡単におしっこ。

関連する問題