Ios 两个日期之间的确切年份差
我从datepicker那里得到了两次约会 我想计算两个日期之间的年差如果我把第二个日期的第二天改大一点,它应该给我年差2如果把第二天改小一点,它应该给我0年差我怎么才能做到呢?请帮帮我 这是我计算差异的代码Ios 两个日期之间的确切年份差,ios,nsdate,Ios,Nsdate,我从datepicker那里得到了两次约会 我想计算两个日期之间的年差如果我把第二个日期的第二天改大一点,它应该给我年差2如果把第二天改小一点,它应该给我0年差我怎么才能做到呢?请帮帮我 这是我计算差异的代码 NSCalendar *gregorian1 = [NSCalendar currentCalendar]; NSUInteger unitFlags = NSYearCalendarUnit; NSDateComponents *components1 = [gr
NSCalendar *gregorian1 = [NSCalendar currentCalendar];
NSUInteger unitFlags = NSYearCalendarUnit;
NSDateComponents *components1 = [gregorian1 components:unitFlags
fromDate:startDate
toDate:endDate options:0];
NSInteger diff = [components1 year];
试试这个:
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit
fromDate:dateA
toDate:dateB
options:0];
NSLog(@"Difference in date components: %i/%i/%i", components.day, components.month, components.year);
因此,您的日期组件有所不同。请尝试以下方法:
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit
fromDate:dateA
toDate:dateB
options:0];
NSLog(@"Difference in date components: %i/%i/%i", components.day, components.month, components.year);
因此,您在日期组件上存在差异。Swift 3
extension Date{
func yearsTo(_ date : Date) -> Int{
return Calendar.current.dateComponents([.year], from: self, to: date).year ?? 0
}
}
斯威夫特3
extension Date{
func yearsTo(_ date : Date) -> Int{
return Calendar.current.dateComponents([.year], from: self, to: date).year ?? 0
}
}
你的问题是什么?你是什么时候试的?你有没有测试过一些价值观,loggued?你有什么问题?你是什么时候试的?你有一些测试值吗,loggued?