/ / Comparaison de deux dates (date actuelle et date de la base de données) - sql, objective-c, nsdate

Comparer deux dates (date et date actuelles de la base de données) - sql, objective-c, nsdate

J'essaie de comparer deux dates l'une de la base de données et l'autre est la date actuelle du système. La date de la base de données est analysée dans une chaîne et je veux le transformer en NSDate . le problème auquel je suis confronté est que NewsDate est nil.

  -(void)viewDidLoad
{

// Do any additional setup after loading the view.
self.title=self.ntitle;
_lblDate.text=self.ndateNews;
_lblDetail.text=self.ndetails;
_lblTitre.text=self.title;
NSDate *currDate=[NSDate date];
NSDateFormatter *DateFormats=[[NSDateFormatter alloc ]init];
[DateFormats setDateFormat:@"MM-DD-yyyy hh:mm:ss +EEEE"];
NSLog(@"selected date  %@",self.ndateNews);
NSDate *NewsDate=[DateFormats dateFromString:self.ndateNews];
NSLog(@"string transformed   into date %@",NewsDate);
NSLog(@" system date %@",currDate);



if ([currDate isEqualToDate:NewsDate]){

_lblDate.text=@"today";

}

}

Réponses:

1 pour la réponse № 1

Vous utilisez un modèle de format de date incorrect voir cette page pour info.

yyyy-MM-dd"T"HH:mm:ssZZZZZ

Est ce que vous voulez pour votre format de date.

Aussi, si vous voulez vérifier cela NewsDate C'est aujourd'hui que vous devriez utiliser:

BOOL today = [[NSCalendar currentCalendar] isDateInToday:NewsDate];

Vérifier si une date est égale à NSDate date voudrais-je que les dates devraient correspondre exactement - jusqu'à la milliseconde!

Notez que -isDateInToday: est iOS 7 seulement. Laissez-moi un commentaire si vous voulez une version qui fonctionne aussi pour iOS 6 :)