У меня есть объект JSON, который имеет несколько дат, например: 15/12/2005 или 14/12/2012.Сравнить месяц и день даты в строке по месяц и день текущей даты
Мне нужно провести сравнение месяца и дня с сегодняшним месяцем и днем; год не имеет значения. Я делаю это:
-(void)setSingle:(NSDictionary*)object name:(NSString*)name {
NSMutableDictionary * content = [[NSMutableDictionary alloc] initWithDictionary:[[NSUserDefaults standardUserDefaults] objectForKey:name]];
NSLog(@"%@", name);
if(name == @"teste") {
NSDate *dateReturn = [[NSDate alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM"];
NSString * tempDate;
NSDictionary *dateObjectTemp = nil;
NSDictionary * dateObject = [object objectForKey:name];
for (NSDictionary*g in dateObject) {
tempDate = [g objectForKey:@"dia"];
dateObjectTemp = g;
NSLog(@"Data: %@", tempDate);
dateReturn = [dateFormatter dateFromString:tempDate];
NSLog(@"Data: %@", dateReturn);
[content setObject:dateObjectTemp forKey:tempDate];
}
} else {
NSDate *dateReturn = [[NSDate alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSString * tempDate;
NSDictionary *dateObjectTemp = nil;
NSDictionary * dateObject = [object objectForKey:name];
for (NSDictionary*g in dateObject) {
tempDate = [g objectForKey:@"dia"];
dateObjectTemp = g;
dateReturn = [dateFormatter dateFromString:tempDate];
[content setObject:dateObjectTemp forKey:tempDate];
}
}
NSDictionary* cont =content;
[[NSUserDefaults standardUserDefaults] removeObjectForKey:name];
[[NSUserDefaults standardUserDefaults] setObject:cont forKey:name];
}
Это поднимает дату, но dataReturn
возвращается 2000-12-15. Я хочу только день и месяц.
и когда будет сравнивать следующий метод
-(void)showContent{
if ([self daysBetweenDate:currentDate andDate:self.dateLimit]>=0) {
NSDictionary *santododia = [super compareDate:currentDate name:@"santos"];
[self defineContent:[santododia objectForKey:@"texto"]];
self.urlShare = [santododia objectForKey:@"url"];
self.tituloShare = [santododia objectForKey:@"titulo"];
}else{
[self.webView loadHTMLString: @"<font color='black' style='font-family:sans-serif;'>Conteúdo indisponível, escolha a data de hoje ou anterior</font>" baseURL:nil];
}
}
Хотя текущая дата матчей, тест не проходит.
-(void) defineContent:(NSString *)string{
string = [parentClass checkStringContent:string];
NSLog(@"Teste: %@", string);
if(string.length == 0){
string = @"<font color='black' style='font-family:sans-serif;'>nothing</font>";
} else {
string = [NSString stringWithFormat: @"%@ %@", string , @"<style>body {color:#000 !important} .day{margin-top:5px} .month{margin-top:5px} </style>" ];
}
[self.webView loadHTMLString: string baseURL:nil];
}
установить формат даты как [dateFormatter setDateFormat: @ "dd/MM/yyyy"]; Тогда все будет хорошо. – Dev
, но я не хочу использовать год. Позвольте мне уточнить. У меня есть текст 12/15/2015 день и еще один день 16/12/2002, если вы заметили разные годы, но что важно, а день и месяц, навсегда будет отображаться на все дни 16/12 текст, а не вопрос год –