iPhoneでカスタム日を作成する方法
-
17-09-2020 - |
質問
今日の日付のコンポーネントをnsdatecomponentで設定しようとしています。
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:1];
[comps setHour:1];
[comps setMinute:44];
NSCalendar *cal = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDate *date = [cal dateByAddingComponents:comps toDate:[NSDate date] options:0];
[comps release];
NSLog(@"%@", date);
.
しかし、この例では現在の日付に時間を追加します。今、私がやりたいことは1日追加されますが、時刻と分を指定された値に設定します(追加なし)。どうやってこれを行うことができますか?
解決
これは最後に機能しました:
NSDateComponents *comp = [[NSCalendar currentCalendar] components:NSYearCalendarUnit
NSMonthCalendarUnit | NSDayCalendarUnit fromDate:[NSDate date]];
[comp setDay:[comp day] +1];
[comp setHour: 12];
[comp setMinute: 00];
NSDate *date = [[NSCalendar currentCalendar] dateFromComponents:comp];
. 他のヒント
Easy:date
プロパティを使用してください...
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:1];
[comps setHour:1];
[comps setMinute:44];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:comps];
.
編集:カレンダーを忘れました。マニュアルから(太字のNSDateComponentsの1ページ):
重要:NSDateComponentsオブジェクトはそれ自体では意味がありません。あなたはそれがどんなカレンダーと解釈されるかを知る必要があります、そしてあなたはその値が単位の絶対値、または単位の量であるかどうかを知る必要があります。
それを使う方法の例もあります。
所属していません StackOverflow