Como obtenho o dia da semana como uma string?
ios
objective-c
cocoa-touch
nsdate
Moshe
fonte
fonte
[dateFormatter weekdaySymbols]
(e semelhantes), que retorna um NSArray de NSStrings começando com domingo no índice 0.[gregorian setFirstWeekday:2];
e para segunda-feira 01/06/2015 recebo 2 ([components weekday]
). Por quê? - Encontro a resposta aquiBasta usar estas três linhas:
fonte
Muitas das respostas aqui estão obsoletas. Isso funciona a partir do iOS 8.4 e fornece o dia da semana como uma string e como um número.
fonte
weekday
componente deNSCalendar
é umNSInteger
, você precisará lançar[comps weekday]
para umint
, se necessário, ou então ele mostrará um aviso sobre isso.Veja como fazer no Swift 3 e obtenha um nome de dia localizado ...
fonte
fonte
Eu precisava de um índice simples (gregoriano) de dias da semana, onde 0 = domingo e 6 = sábado para ser usado em algoritmos de correspondência de padrão. A partir daí, é uma simples questão de pesquisar o nome do dia em uma matriz usando o índice. Aqui está o que eu criei que não requer formatadores de data, ou NSCalendar ou manipulação de componente de data:
fonte
Aqui está o código atualizado para Swift 3
Código:
Para imprimir o nome do evento como String:
fonte
Acho que este tópico é muito útil, então posto algum código compatível com Swift 2.1 .
Para onde você puder ligar:
Swift 3.0
Como @ delta2flat sugeriu, atualizo a resposta, dando ao usuário a capacidade de especificar o formato personalizado.
fonte
A resposta de Vladimir funcionou bem para mim, mas pensei em postar o link Unicode para as strings de formato de data.
http://www.unicode.org/reports/tr35/tr35-25.html#Date_Format_Patterns
Este link é para o iOS 6. As outras versões do iOS têm padrões diferentes que podem ser encontrados na documentação do X-Code.
fonte
Funciona assim em Swift:
Em seguida, atribua os dias da semana aos números resultantes.
fonte
Eu tive um problema bastante estranho em conseguir um dia da semana. Apenas definir o primeiro dia da semana não foi suficiente. Também era necessário definir o fuso horário. Minha solução de trabalho foi:
fonte
Swift 2: obtenha o dia da semana em uma linha. (com base na resposta do neoscribe )
fonte
existem três símbolos que podemos usar para formatar o dia da semana:
Os dois documentos a seguir podem ajudá-lo.
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html
http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns
Demo:
você pode testar seu padrão neste site:
http://nsdateformatter.com/
fonte