IOS How to caculate day between two dates
/* Caculate day between two dates */
- (int)daysBetweenDates:(NSString*)dt1 toDate:(NSString *)dt2 {
int numDays;
NSDateFormatter *f1 = [[NSDateFormatter alloc] init];
[f1 setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[f1 setDateFormat:@"yyyy-MM-dd"];
NSDate *from = [f1 dateFromString:dt1];
NSDateFormatter *f2 = [[NSDateFormatter alloc] init];
[f2 setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[f2 setDateFormat:@"yyyy-MM-dd"];
NSDate *to = [f2 dateFromString:dt2];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger unitFlags = NSDayCalendarUnit;
NSDateComponents *components = [gregorian components:unitFlags fromDate:from toDate:to options:0];
numDays = [components day];
[gregorian release];
[f1 release];
[f2 release];
return numDays + 1;
}
- (int)daysBetweenDates:(NSString*)dt1 toDate:(NSString *)dt2 {
int numDays;
NSDateFormatter *f1 = [[NSDateFormatter alloc] init];
[f1 setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[f1 setDateFormat:@"yyyy-MM-dd"];
NSDate *from = [f1 dateFromString:dt1];
NSDateFormatter *f2 = [[NSDateFormatter alloc] init];
[f2 setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[f2 setDateFormat:@"yyyy-MM-dd"];
NSDate *to = [f2 dateFromString:dt2];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger unitFlags = NSDayCalendarUnit;
NSDateComponents *components = [gregorian components:unitFlags fromDate:from toDate:to options:0];
numDays = [components day];
[gregorian release];
[f1 release];
[f2 release];
return numDays + 1;
}
Comments
Post a Comment