Parece uma coisa simples, mas não consigo encontrar uma maneira de fazer isso.
Seria ótimo ver alguns métodos diferentes.
ios
cocoa-touch
nsdate
nsdateformatter
nscalendar
nickthedude
fonte
fonte
setHour
,setMinute
,setSecond
, etc. de granularidade.Você pode usar isso
Espero que isso ajude você.
fonte
Se você está falando sobre uma data de calendário específica em vez de uma data UNIXy, provavelmente deseja o NSCalendar
dateFromComponents:
.fonte
Exemplos rápidos
Os exemplos costumam ser a maneira mais fácil de aprender. Aqui estão alguns exemplos.
Agora
Este é o mais fácil.
20 de fevereiro de 2017
1 de abril de 1976
Precisa de mais detalhes ...?
Existem outras maneiras de criar datas também. Se você quiser aprender isso, e também como exibir uma data, veja minha resposta mais completa .
fonte
Consulte a documentação para NSDate . Você pode usar o
dateFromString:
método deNSDateFormatter
ou odateFromComponents:
método deNSCalendar
.fonte
init
?Eu encontrei este tópico enquanto procurava uma resposta para esta pergunta, mas então eu encontrei um bom exemplo em um meu livro Big Nerd Ranch Objective-C Programming. Crédito para eles, não para mim.
fonte
É ridículo, não é?
Meados de 2013 e a Apple ainda não forneceram uma maneira simples de definir um valor NSDate.
Durante meu projeto atual do iPad, não pude acreditar que tive que interromper a produtividade por um tempo para escrever minha própria classe de ajudante para obter o valor de ano de um NSDate. Quero dizer, vamos, isso é básico.
De qualquer forma, aqui está a classe auxiliar que usei em meu projeto, para converter uma string em um valor NSDate:
Usando este código, você pode definir um valor NSDate usando algo como:
Nota: esta função foi baseada no código retirado daqui: https://stackoverflow.com/a/3968411/391605
Minha solução era usar o código a seguir, mas descobri que às vezes ele simplesmente não analisava e retornava nil .
Lembro que falhou miseravelmente em "12 de outubro de 2012" ... é por isso que desisti e usei a função mais complicada "parseDateString" mostrada acima.
Meu ponto é ... tenha cuidado.
Algumas das funções básicas do NSDate simplesmente não funcionam corretamente ...
fonte