をNSMutableArray用NSCalendar
-
27-09-2019 - |
質問
以下のような問題:う必要がありNSMutabeArrayとの平日毎日後、特定の日です。
このようになっているでしょう:
- 28日(木)~2010年
- 04日(木曜日)2010年
- 木曜11月2010年
- ...
する方法を教えてください。と思うので、あなたNSCalendar出すことはできなかったがんに最適なソリューションを提供...なってい?
よろしくお願いし
FFraenz
解決
無限級数です。 NSMutableArrayのは有限のコレクションを保持することができます。
いずれにせよ、あなたは、2010年10月28日として、シリーズの唯一のメンバーを必要としています。その後木曜日を取得するには、1週間を追加します。直列に第三の日付を取得するには、最初の日付に二日、二週間に一週間を追加します。シリーズの任意のメンバーを持つことは、一連の他のメンバーへのアクセスを提供します。
あなたが右の平日ではありません日から開始している場合は、その日付の日付コンポーネントを取得し、その月のその日に、正しい平日、それが持っている平日の違いを追加し、修正された日付を変換しますコンポーネントは、現在までにバックアップ。その日は、同じ週に希望平日になります。
他のヒント
実際の日付を持ってます:
NSDate *today = [[NSDate alloc] init];
を追加するには、週ます:
NSDate *nextDate = [today dateByAddingTimeInterval:60*60*24*7];
次に、あなたがあなたの配列を反復処理して作成することができます:
NSMutableArray* dates = [[NSMutableArray alloc] init];
NSDate *date= [[NSDate alloc] init];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setWeek:1];
for (int i=0;i<10;i++) {
NSDate *nextDate = [gregorian dateByAddingComponents:offsetComponents toDate:date options:0];
[dates addObject:date];
[date release];
date = nextDate;
}
[date release];
所属していません StackOverflow