televisores son smart samsung mejores mejor los cuales cual objective-c compare days

objective-c - smart - sony o samsung tv



¿Cómo puedo comparar dos fechas, devolver un número de días (4)

Del ejemplo de Apple , básicamente use un NSCalendar:

NSDate * date1 = <however you initialize this>; NSDate * date2 = <...>; NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit; NSDateComponents *components = [gregorian components:unitFlags fromDate:date1 toDate:date2 options:0]; NSInteger months = [components month]; NSInteger days = [components day];

¿Cómo puedo comparar dos fechas de devolución de días. Ej: faltan x días de la copa. mira mi codigo

NSDateFormatter *df = [[NSDateFormatter alloc]init]; [df setDateFormat:@"d MMMM,yyyy"]; NSDate *date1 = [df dateFromString:@"11-05-2010"]; NSDate *date2 = [df dateFromString:@"11-06-2010"]; NSTimeInterval interval = [date2 timeIntervalSinceDate:date1]; //int days = (int)interval / 30; //int months = (interval - (months/30)) / 30; NSString *timeDiff = [NSString stringWithFormat:@"%dMissing%d days of the Cup",date1,date2, fabs(interval)]; label.text = timeDiff; // output (Missing X days of the Cup)


Necesitamos llamar a este método y establecer solo 2 fechas que queremos calcular de manera diferente.

-(void) calculateSleepHours:(NSDate *)sleepDate :(NSDate *)wakeStr { if (sleepDate !=nil && wakeStr!=nil) {`enter code here` NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init]; [dateFormatter1 setDateFormat:@"yyyy-MM-dd HH:mm:ssZ"]; NSDate *date1 = [ApplicationManager getInstance].sleepTime;; NSDate *date2 = [ApplicationManager getInstance].wakeupTime; NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit; NSDateComponents *components = [gregorian components:unitFlags fromDate:date1 toDate:date2 options:0]; NSInteger months = [components month]; NSInteger days = [components day]; NSInteger hours = [components hour]; NSInteger minute=[components minute]; NSInteger second=[components second]; DLog(@"Month %ld day %ld hour is %ld min %ld sec %ld ",(long)months,(long)days,(long)hours,(long)minute,(long)second); sleepHours.text=[NSString stringWithFormat:@"Hour %ld Min %ld Sec %ld",(long)hours,(long)minute,(long)second]; } }


Prueba esta categoría:

@interface NSDate (DateUtils) -(NSInteger)numberOfDaysUntilDay:(NSDate *)aDate; @end @implementation NSDate (DateUtils) -(NSInteger)numberOfDaysUntilDay:(NSDate *)aDate { NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitDay fromDate:self toDate:aDate options:kNilOptions]; return [components day]; } @end

Puedes usar esta categoría agregando una importación:

#import "NSDate+DateUtils.h"

Y llámalo desde tu código:

NSInteger days = [myDate numberOfDaysUntilDay:someOtherDate];


Puedes usar la siguiente categoría:

@interface NSDate (Additions) -(NSInteger)numberOfDaysUntilDay:(NSDate *)aDate; -(NSInteger)numberOfHoursUntilDay:(NSDate *)aDate; @end @implementation NSDate (Additions) const NSInteger secondPerMunite = 60; const NSInteger munitePerHour = 60; const NSInteger hourPerDay = 24; -(NSInteger)numberOfDaysUntilDay:(NSDate *)aDate { NSInteger selfTimeInterval = [aDate timeIntervalSinceDate:self]; return abs(selfTimeInterval / (secondPerMunite * munitePerHour * hourPerDay)); } -(NSInteger)numberOfHoursUntilDay:(NSDate *)aDate { NSInteger selfTimeInterval = [aDate timeIntervalSinceDate:self]; return abs(selfTimeInterval / (secondPerMunite * munitePerHour)); } @end