iphone objective-c datetime nstimer

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(&currentTime, &timeStruct); char buffer[20]; strftime(buffer, 20, "%d-%m-%Y %H:%M", &timeStruct);