iphone - Cómo obtener la hora actual en una cadena en formato personalizado en el objetivo c
objective-c datetime (4)
Aquí hay una solución simple:
- (NSString *)stringWithDate:(NSDate *)date
{
return [NSDateFormatter localizedStringFromDate:date
dateStyle:NSDateFormatterMediumStyle
timeStyle:NSDateFormatterNoStyle];
}
Cambie dateStyle
y timeStyle
para que coincida con su requisito de formato.
Quiero la hora actual en el formato siguiente en una cadena.
dd-mm-aaaa HH: MM
¿Cómo?
Quieres un formateador de fecha . Aquí hay un ejemplo:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd-MM-yyyy HH:mm"];
NSDate *currentDate = [NSDate date];
NSString *dateString = [formatter stringFromDate:currentDate];
Quizás esto sea más legible:
NSDateFormatter *date = [[NSDateFormatter alloc] init];
[date setDateFormat:@"HH:mm"];
NSString *dateString = [date stringFromDate:[NSDate date]];
[self.time setText:dateString];
En primer lugar creamos un NSDateFormatter integrado en obj-c con la fecha del nombre, luego lo aplicamos por [[NSDateFormatter alloc] init]; . Después de eso le decimos al procesador del código que queremos que nuestra fecha tenga HORA / MINUTO / SEGUNDO. Finalmente debemos hacer que nuestra fecha sea una cadena para trabajar con la alerta o establecer el valor de una etiqueta, para hacer esto debemos crear una cadena con el método NSString luego usamos esto: [date stringFromDate: [NSDate date]]
Diviértete con eso .
Utilice NSDateFormatter
como dijo Carl, o simplemente use good strftime
, que también es perfectamente válido Objective-C:
#import <time.h>
time_t currentTime = time(NULL);
struct tm timeStruct;
localtime_r(¤tTime, &timeStruct);
char buffer[20];
strftime(buffer, 20, "%d-%m-%Y %H:%M", &timeStruct);