2010-04-29 23 views
8

ho questo "1.273.636,8 milioni" e voglio convertirlo in questo formato "Mer 3 Mar 2010 00:00:00 GMT-0500 (EST)"Convertire millisecondi per NSDate

ho bisogno di convertire questo millisecondi per Formato NSDate.

Ho provato questo

NSDate *tr = [NSDate dateWithTimeIntervalSince1970:1273636800000];

e

NSDate *tr = [NSDate dateWithTimeIntervalSinceReferenceDate:1273636800000];

e

NSDate *tr = [NSDate dateWithTimeIntervalSinceNow:1273636800000];

Ma non riesco a farlo funzionare, qualcuno ha avuto un problema simile e trovato la soluzione

+0

Che cosa ha fatto 'dateWithTimeIntervalSince1970:' fare? Hai tenuto conto dei fusi orari? –

+0

Ho appena ricevuto la data ... non mi importa del tempo .. – vivianaranha

risposta

27

Queste funzioni (dateWithTimeIntervalSince1970, dateWithTimeIntervalSinceReferenceDate, dateWithTimeIntervalSinceNow) accettano parametri in secondi.

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

Si dovrebbe passare 1273636800,000

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

Grazie, è stato davvero stupido da parte mia ... Trascorro 3 ore a pensarci ... – vivianaranha

+0

Ho passato una settimana a cercarmi questo, se tu penso che 3 ore siano stupide, come dovrei chiamarmi? XD – SAFAD

5

Dividere per 1000 per ottenere Millis in secondi, che è quello che vuoi.

4

Una semplice linea di Swift 2 funzione:

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