16

私の iPhone アプリケーションには、イベントの開始日があります。たとえば、2013-05-17 15:00:12 +0000 です。私の質問は、どうすれば 2013-05-17 を今日の日付に変更できますか?

4

7 に答える 7

38

日付コンポーネントを収集し、必要なプロパティを修正する必要があります。

//gather current calendar
NSCalendar *calendar = [NSCalendar currentCalendar];

//gather date components from date
NSDateComponents *dateComponents = [calendar components:(NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond) fromDate:[NSDate date]];

//set date components
[dateComponents setDay:17];
[dateComponents setMonth:5];
[dateComponents setYear:2013];

//save date relative from date
NSDate *date = [calendar dateFromComponents:dateComponents];

それか、1 日の秒数を追加して値を増やすことができます。

NSDate *date = [NSDate dateWithTimeInterval:((60 * 60) * 24) sinceDate:[NSDate date]];
于 2013-06-13T10:42:05.587 に答える
0

API dateWithStringを使用して、希望する現在の日時で開始日を変更できないのはなぜですか。そうでない場合は、2 つの NSDate 間の timeinterval の差分を取ることで、おそらく NSDate の dateByAddingTimeInterval API も確認できます。

于 2013-06-13T10:40:33.360 に答える
0

今日の午前 0 時の numberOfSeconds と、午前 0 時の他の日付の numberOfSeconds を見つける必要があります。それらの違いを見つけます。次に、2013-05-17 15:00:12 +0000 の numberOfSeconds にこの差を追加します。

于 2013-06-13T10:40:08.987 に答える