我有字符串格式的日期就像30-11-2012
。 我要像旁边的日期01-12-2012
在字符串格式一次。 有没有得到它的方法吗?
Answer 1:
您应该使用NSCalendar最佳兼容性
NSDate *today = [NSDate dateWithNaturalLanguageString:@"2011-11-30"];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *dayComponent = [NSDateComponents new];
dayComponent.day = 1;
today = [calendar dateByAddingComponents:dayComponent toDate:today options:0];
//2011-12-01 12:00:00 +0000
Answer 2:
我被人名字我忘了答案,我正要接受他/她的回答,但是当我点击接受的答案它告诉我,后浅被删除。
由匿名人士给出的答案下面给出
NSString *dateString = @"22-11-2012";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:dateString];
NSDateComponents *components= [[NSDateComponents alloc] init];
[components setDay:1];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *dateIncremented= [calendar dateByAddingComponents:components toDate:dateFromString options:0];
NSDateFormatter *myDateFormatter = [[NSDateFormatter alloc] init];
[myDateFormatter setDateFormat:@"dd-MM-yyyy"];
NSString *stringFromDate = [myDateFormatter stringFromDate:dateIncremented];
NSLog(@"%@", stringFromDate);
最后,我真的很喜欢到感谢匿名人,我知道这是不是很多棘手,但这个对我帮助很大。 再次感谢您的匿名助手。
Answer 3:
SWIFT 3.0
var components = DateComponents()
components.day = 1
let now = Date()
let futureDate = Calendar.current.date(byAdding: components, to: now, wrappingComponents: false)
//现在= 2017年3月22日futureDate = 2017年3月23日
文章来源: Convert date to next day's date in iOS