Em meu aplicativo, preciso obter a hora e o minuto separadamente:
NSString *currentHour=[string1 substringWithRange: NSMakeRange(0,2)];
int currentHourInNumber=[currentHour intValue];
Considere o string1
conteúdo 11:59:13 AM
que está vindo de datepicker.
Aqui, se eu usar o código acima, não há problema em obter a hora se for maior que 9. Caso contrário, preciso alterar NSMakeRange(0,1)
para obter a hora entre 1 e 9.
Existe algum método para obter a hora, os minutos, etc.?
Agradecemos antecipadamente, forneça-me o código de amostra.
ios
objective-c
nsdate
hour
Mac
fonte
fonte
Respostas:
Use um NSDateFormatter para converter
string1
em um eNSDate
, em seguida, obtenha os NSDateComponents necessários :Obj-C :
Swift 1 e 2 :
Swift 3 :
Mais sobre o dateformat está no site oficial unicode
fonte
Se você só precisa dele para apresentar como uma string, o código a seguir é muito mais fácil
fonte
Parece-me que é essa a questão, sem necessidade de formatadores:
fonte
NSDateComponents
Tudo que você precisa pode ser encontrado aqui:
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DatesAndTimes/Articles/dtCalendars.html
fonte
Se você fosse usar a biblioteca C, isso poderia ser feito:
E usando o Swift:
Para obter mais orientações, consulte: http://www.cplusplus.com/reference/ctime/localtime/
fonte
Com iOS 8, a Apple introduziu um método auxiliar para recuperar o
hour
,minute
,second
enanosecond
de um objeto NSDate.Objective-C
Rápido
fonte
Swift 2.0
Você pode fazer o seguinte para obter horas e minutos de uma data:
fonte
Swift 2.0
Observe a conversão em String na instrução de impressão, você pode facilmente atribuir esse valor a variáveis, como este:
Então você pode concatenar valores como este:
fonte