2010-04-29 6 views
8

Je cette « 1273636800000 » et je veux le convertir en ce format « Mer 3 mars 2010 00:00:00 GMT-0500 (EST) »Convertir millisecondes à NSDate

Je dois convertir ces millisecondes NSDate format.

J'ai essayé

NSDate *tr = [NSDate dateWithTimeIntervalSince1970:1273636800000];

et

NSDate *tr = [NSDate dateWithTimeIntervalSinceReferenceDate:1273636800000];

et

NSDate *tr = [NSDate dateWithTimeIntervalSinceNow:1273636800000];

Mais je ne peux pas le faire fonctionner, tout le monde avait un problème similaire et trouvé la solution

+0

Qu'est-ce que '' dateWithTimeIntervalSince1970: faire? Avez-vous tenu compte des fuseaux horaires? –

+0

J'ai juste besoin de la date ... Je ne me soucie pas du temps .. – vivianaranha

Répondre

27

Ces fonctions (dateWithTimeIntervalSince1970, dateWithTimeIntervalSinceReferenceDate, dateWithTimeIntervalSinceNow) acceptent le paramètre en secondes.

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

Vous devez passer 1273636800,000

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

Merci c'était vraiment bête de moi ... Je passe 3 heures à y penser ... – vivianaranha

+0

J'ai passé une semaine à chercher ça, si tu pense que 3 heures est bête, comment devrais-je m'appeler? XD – SAFAD

5

Diviser par 1000 pour obtenir Millis en quelques secondes, c'est ce que vous voulez.

4

Une simple ligne Swift 2 fonction:

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