1

1年の間に続くログについて、時間ベースの統計を作成する必要があります。必要なのは、決定された日付範囲内の(太陽)週のカウントだけです。

つまり、2011年8月1日から2012年9月3日までの間に何週間発生したかを計算する必要があります。

私は2つの日付の間の日数を数え、次に7で割るという考えを持っていましたが、それは私が週の間にいる可能性があるという事実を数えません。この場合、値は正しく/正確ではありません。

誰かが以前に同様の問題に直面したことがありますか?

4

3 に答える 3

6

NSDatesに2つの日付(date1とdate2)があると仮定します。次に電話

NSCalendar *calendar = [NSCalendar currentCalendar];
//declare your unitFlags
int unitFlags = NSWeekCalendarUnit;

NSDateComponents *dateComponents = [calendar components:unitFlags fromDate:date1  toDate:date2 options:0];

int weeksInBetween = [dateComponents week];

お役に立てば幸い

于 2012-12-13T20:17:53.880 に答える
1

NSCalendarあなたが取り入れるべきクラスです。それはあなたがあなたのためにすべてのめちゃくちゃな時間のものを処理しながら、あなたがメソッドNSDateComponentsを使用して2つの日付からを取得することを可能にします。components:fromDate:toDate:options:

于 2012-12-13T20:18:01.387 に答える
0
NSDateComponents *difference = [[NSCalendar currentCalendar] components:NSCalendarUnitDay
                                                               fromDate:startDate]
                                                                 toDate:endDate]
                                                                options:0];
NSInteger weeksDiffCount = (((NSInteger)[difference day])/7);

それが役に立てば幸い。

于 2016-08-15T13:09:25.437 に答える