2011-02-15 20 views

Respuesta

5

puede usar strftime.

NSDate *date = [NSDate date]; 
time_t time = [date timeIntervalSince1970]; 
struct tm timeStruct; 
localtime_r(&time, &timeStruct); 
char buffer[80]; 
strftime(buffer, 80, "%d.%m.%Y %H:%M:%S", &timeStruct); 
NSString *dateStr = [NSString stringWithCString:buffer encoding:NSASCIIStringEncoding]; 

Espero que sea correcto.

+0

¡Me ganaste! +1 – paulbailey

+0

¡Muchas gracias! Esto es lo que terminé usando: https://gist.github.com/cd7b71db01bfa7a4d778 Resulta que simplemente no sabía que la expresión "time_t time" no debería configurarse. ¡Gracias de nuevo! – smtlaissezfaire

1

Necesitará un NSDateFormatter, usando setDateFormat:. Here's the documentation.

+0

Eso no usa el formato stftime, ¿verdad? – smtlaissezfaire

+1

Usted hace un buen punto; no usa el formato strftime. Como Objective C es un superconjunto de C, puedes utilizar strftime directamente. Cuando ibas de NSDate a NSString, asumí que preferirías mantener todo en Cocoa. – paulbailey

+0

IIRC, puede utilizar el formato estilo strftime si llama a '- [suFormatter setFormatterBehavior: NSDateFormatterBehavior10_0]'. – Wevah