2010-04-29 28 views
8

tengo este "1273636800000" y quiero convertirlo en este formato "Mar Ene 03 2010 00:00:00 GMT-0500 (EST)"Convertir milisegundos a NSDate

Necesito convertir esta milisegundos a Formato NSDate.

yo probamos este

NSDate *tr = [NSDate dateWithTimeIntervalSince1970:1273636800000];

y

NSDate *tr = [NSDate dateWithTimeIntervalSinceReferenceDate:1273636800000];

y

NSDate *tr = [NSDate dateWithTimeIntervalSinceNow:1273636800000];

Pero no puedo conseguir que funcione, alguien tenía un problema similar y encontró la solución

+0

Lo que hizo '' dateWithTimeIntervalSince1970: hacer? ¿Tuviste en cuenta las zonas horarias? –

+0

Solo necesito la fecha ... No me importa el tiempo ... – vivianaranha

Respuesta

27

Estas funciones (dateWithTimeIntervalSince1970, dateWithTimeIntervalSinceReferenceDate, dateWithTimeIntervalSinceNow) aceptan el parámetro en segundos.

NSDate *date = [NSDate dateWithTimeIntervalSince1970:(ms/1000.0)]; 

Debe pasar 1273636800,000

NSDate *date = [NSDate dateWithTimeIntervalSince1970:(1273636800/1000.0)]; 
+0

Gracias fue realmente tonto ... Paso como 3 horas pensando en ello ... – vivianaranha

+0

Pasé una semana buscando esto, si pensar que 3 horas son tontas, ¿cómo debería llamarme? XD – SAFAD

5

Dividir por 1000 para obtener Millis en segundos, que es lo que quieres.

4

Un simple de una línea Swift 2 función:

func dateFromMilliseconds(ms: NSNumber) -> NSDate { 
    return NSDate(timeIntervalSince1970:Double(ms)/1000.0) 
} 
Cuestiones relacionadas