Domanda

ciao voglio sapere come ottenere la data corrente? voglio confrontare la data corrente con una data che sto recuperando da un file plist usando il seguente codice.

NSDate *expDate = [licenseDictionary objectForKey:@"Expires"];

per il confronto sto usando il seguente codice

if([curDate compare:expDate] == NSOrderedAscending )

ma non funziona. qualcuno può aiutarmi.

È stato utile?

Soluzione

Nell'interesse di insegnare a qualcuno come pescare piuttosto che dargli da mangiare:

Dai un'occhiata alla Programmazione di data e ora Guida. . Le guide di programmazione nella documentazione sono la tua prima fermata quando cerchi di capire un argomento. Forniscono una panoramica di ciò che può essere fatto e contengono utili esempi di codice.

Queste guide contengono anche collegamenti alla documentazione delle classi specifiche utilizzate. In questo caso c'è Riferimento di classe NSDate che contiene sezioni su creazione di date e date di confronto .

Modifica

Per rispondere al tuo commento su questo non funziona, penso che il problema potrebbe essere che non hai creato l'oggetto che hai archiviato nel dizionario come NSDate. Ancora. Dai un'occhiata a creazione delle date documentazione. Sarà qualcosa come

NSDate *expiryDate = [NSDate dateWithNaturalLanguageString:@"31/01/10"];

Ma questo è solo un esempio, ci sono altri modi per impostare una stringa di date.

Altri suggerimenti

Per ottenere la data corrente, utilizzare semplicemente:

NSDate * today = [NSDate date];

Per confrontare con un'altra data:

if ([today compare:expirationDate] == NSOrderedAscending)
{
    // today's date is before the expiration date
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top