-1

如何将持续时间添加到日期时间。例如 30 分钟。

 NSString *str = @"31-06-2013 11:45 pm";

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

 [dateFormatter setDateFormat:@"dd-MM-yyyy hh:mm a"];
 NSDate *startTime = [dateFormatter dateFromString: str];
 NSDate *endTime = [startTime dateByAddingTimeInterval:60 * 30];

输出显示31-06-2013 11:45 pm但正确的应该是01-06-2013 12:15 am

4

1 回答 1

0

正如许多人指出的那样,这是一个重复的问题,尽管日期的组成部分不同。这是调整日期的分钟部分的好方法。

    NSCalendar*       calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
    NSDateComponents *c = [[[NSDateComponents alloc] init] autorelease];
    c.minute = 30;
    NSDate* endTime = [calendar dateByAddingComponents:c toDate:startTime options:0];
    NSString* formattedDateString = [dateFormatter stringFromDate:endTime];
于 2013-06-02T05:13:08.140 回答