En mi aplicación, necesito obtener la hora y los minutos por separado:
NSString *currentHour=[string1 substringWithRange: NSMakeRange(0,2)];
int currentHourInNumber=[currentHour intValue];
Considere el string1
contenido 11:59:13 AM
que proviene de datepicker.
Aquí, si utilizo el código anterior, está bien obtener la hora si es mayor que 9. De lo contrario, necesito cambiar NSMakeRange(0,1)
para obtener la hora entre 1 y 9.
¿Existen métodos para obtener la hora, los minutos, etc.?
Gracias de antemano, proporcione un código de muestra.
ios
objective-c
nsdate
hour
Mac
fuente
fuente
Respuestas:
Use un NSDateFormatter para convertir
string1
en unNSDate
, luego obtenga los NSDateComponents requeridos :Obj-C :
Swift 1 y 2 :
Swift 3 :
Más sobre el formato de fecha está en el sitio oficial de Unicode
fuente
Si solo lo necesita para presentarlo como una cadena, el siguiente código es mucho más fácil
fuente
Me parece que esto es lo que sigue la pregunta, sin necesidad de formateadores:
fuente
NSDateComponents
Todo lo que necesita se puede encontrar aquí:
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DatesAndTimes/Articles/dtCalendars.html
fuente
Si tuviera que usar la biblioteca C, esto podría hacerse:
Y usando Swift:
Para obtener más orientación, consulte: http://www.cplusplus.com/reference/ctime/localtime/
fuente
Con iOS 8, Apple introdujo un método de ayuda para recuperar el
hour
,minute
,second
ynanosecond
de un objeto NSDate.C objetivo
Rápido
fuente
Swift 2.0
Puede hacer lo siguiente para obtener horas y minutos de una fecha:
fuente
Swift 2.0
Tome nota de la conversión a String en la declaración de impresión, puede asignar fácilmente ese valor a variables, como esta:
Entonces puede concatenar valores como este:
fuente