Comparando datas em Cocoa
-
06-07-2019 - |
Pergunta
oi eu quero saber como obter a data atual? Eu quero comparar data atual com uma data i estou buscando do arquivos plist usando seguinte código.
NSDate *expDate = [licenseDictionary objectForKey:@"Expires"];
para comparação i m utilizando o seguinte código
if([curDate compare:expDate] == NSOrderedAscending )
mas não o seu trabalho. Alguém pode me ajudar.
Solução
No interesse de ensinar alguém a pescar ao invés de apenas alimentá-lo:
Tenha um olhar para o Data e Programação Tempo guia. . Os guias de programação na documentação são sua primeira parada ao tentar compreender um tópico. Eles fornecem uma visão geral do que pode ser feito e conter código exemplo útil.
Estes guias também têm links para a documentação das classes específicas que são utilizados. Neste caso, há a NSDate Classe de referência que tem seções em datas criando e datas comparando .
Editar
Para responder a você comentário sobre este não funciona, eu acho que o problema pode ser que você não tenha criado o objeto que você armazenou no dicionário como um NSDate. Novamente. Ter um olhar para o criação de datas documentação. Será algo como
NSDate *expiryDate = [NSDate dateWithNaturalLanguageString:@"31/01/10"];
Mas este é apenas um exemplo, existem outras maneiras de definir uma string de data.
Outras dicas
Para obter a data atual, basta usar:
NSDate * today = [NSDate date];
Para comparar para outra data:
if ([today compare:expirationDate] == NSOrderedAscending)
{
// today's date is before the expiration date
}