2010-04-29 4 views
8

ich dieses „1273636800000“ haben und ich möchte es dieses Format „Mi 3. März 2010 00:00:00 GMT-0500 (EST)“konvertieren Millisekunden NSDate

ich diese Millisekunden konvertieren müssen konvertieren NSDate Format.

Ich habe versucht, diese

NSDate *tr = [NSDate dateWithTimeIntervalSince1970:1273636800000];

und

NSDate *tr = [NSDate dateWithTimeIntervalSinceReferenceDate:1273636800000];

und

NSDate *tr = [NSDate dateWithTimeIntervalSinceNow:1273636800000];

Aber ich kann es nicht zur Arbeit kommen, jemand hatte ein ähnliches Problem und fand die Lösung

+0

Was 'dateWithTimeIntervalSince1970 tat:' tun? Haben Sie Zeitzonen berücksichtigt? –

+0

Ich brauche nur date ... Ich dotn kümmern sich um Zeit .. – vivianaranha

Antwort

27

Diese Funktionen (dateWithTimeIntervalSince1970, dateWithTimeIntervalSinceReferenceDate, dateWithTimeIntervalSinceNow) akzeptieren Parameter in Sekunden.

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

Sie sollten 1273636800,000

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

Danke, dass war wirklich dumm von mir ... Ich verbringe 3 Stunden darüber nachzudenken ... – vivianaranha

+0

Ich verbrachte eine Woche um sich um dieses, wenn Sie denke 3 Stunden ist dumm, wie soll ich mich nennen? XD – SAFAD

5

Division durch 1000 passieren Millis in Sekunden zu erhalten, das ist, was Sie wollen.

4

Eine einfache einzeilige Swift 2 Funktion:

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