转换日期为第二天的iOS中日期(Convert date to next day's dat

2019-08-03 06:06发布

我有字符串格式的日期就像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