3

私は日付ピッカーを持っていて、3 つのオプションを持つ 1 つの行だけを持ちたいと思っています: 現在の日、1 日後、1 日前。

それを手伝ってくれませんか?

私の質問は、「当日」を 1 日後と 1 日前に追加するにはどうすればよいですか?

4

3 に答える 3

1

これが私がした方法です-

 -(void)getDate{
    NSString *str_CurDate  =[self getCurrentDate];
    NSString *str_NextDay  =[self getFormattedDate:[self dateByAddingDays:1]];
    NSString *str_PrevDay  =[self getFormattedDate:[self dateByAddingDays:-1]];

}

これらのメソッドを実装する

-(NSString*)getCurrentDate{

NSDate *currDate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"d/M/yyyy"];
NSString *dateString = [dateFormatter stringFromDate:currDate];
return dateString;

}


- (NSDate *) dateByAddingDays:(int)days {

NSDate *retVal;
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setDay:days];

NSCalendar *gregorian = [[NSCalendar alloc]    initWithCalendarIdentifier:NSGregorianCalendar];
retVal= [gregorian dateByAddingComponents:components toDate:[NSDate date] options:0];

return retVal;

}


-(NSString*)getFormattedDate:(NSDate*)myDate{

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"d/M/yyyy"];
NSString *dateString = [dateFormatter stringFromDate:myDate];

return dateString;
}
于 2014-07-03T11:45:12.380 に答える
0

上のカテゴリにカプセル化するNSDate

- (NSDate *) dateByAddingDays:(int)days {
    NSDate *retVal;
    NSDateComponents *components = [[NSDateComponents alloc] init];
    [components setDay:days];

    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    retVal = [gregorian dateByAddingComponents:components toDate:self options:0];
    return retVal;
}
于 2014-02-27T22:38:10.237 に答える