【发布时间】:2013-07-22 10:49:05
【问题描述】:
我从数据库中获取一个 NSString(其中我有一个日期),我需要添加天,例如假设 10//12/15/45/60 天到日期,我该怎么做。
当我尝试使用这段代码时:
NSString *expiryDateStr = [NSString stringWithFormat:@"%@",[[assets valueForKeyPath:@"assetrewards.expirydate"] objectAtIndex:0]];
NSLog(@" date %@",expiryDateStr);
//DATE FORMATTER
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd/MM/yyyy"];
NSDate *_date = [dateFormat dateFromString:expiryDateStr];
[dateFormat setDateFormat:[NSString stringWithFormat:@"dd MMM yyyy HH:mm"]];
[dateFormat setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:3600*5]];
NSLog(@"date format %@",dateFormat);
NSLog(@"Date: %@", _date);
我得到这样的输出:
date 07/10/2013
date format <NSDateFormatter: 0x9f9d4a0>
Date: 2013-10-06 18:30:00 +0000
日期正在更改,我不知道我哪里出错了,如果那是正确的日期,如何将日期添加到日期。
【问题讨论】:
-
印度的结果完全正确。 (x:30 时区偏移是一个致命的赠品。)
-
请注意,第二个 setDateFormat/setTimezone 无效,因为之后 dateFormatter 就没有使用了。
标签: iphone ios nsdate nsdatecomponents