2016-06-21 18 views
0

Der Versuch, 1465768996460.76245 zu Date zu konvertieren. Ich verwende http://www.ruddwire.com/handy-code/date-to-millisecond-calculators/#.V2mI-JN97UI, um zu überprüfen, ob der Wert richtig ist.Milisekunden bis zum Datum

Über Wert sollte etwas wie "Sun Jun 12 2016 22:03:16 GMT + 0000" drucken, was es nicht tut.

Er bekommt die Zeit um ca. 20 min und yy-mm-dd ist weg.

Mit dem Code

print(NSDate(timeIntervalSinceReferenceDate:NSTimeInterval(1465768996460.76245)))) 

Dieser druckt 48449-05-15 22:34:20 +0000

Antwort

3

Verfahren timeIntervalSinceReferenceDate ein Wert in Sekunden und das Referenzdatum erwartet 1 tatsächlich Januar 2001

Ihr Wert die Zahl zu sein scheint von Millisekunden nach der UNIX-Epoche. Sie sollten stattdessen den Konstruktor dateWithTimeIntervalSince1970 verwenden. Vergiss nicht, die Zahl durch 1000 zu teilen, um es in Sekunden zu verwandeln.

let seconds: Double = 1465768996460.76245/1000 
let date = NSDate(timeIntervalSince1970: seconds) 

print(date) //2016-06-12 22:03:16 +0000 
+0

Wenn ich das gleiche tun bekomme ich 2047.06.13 22.03.16 0.000 – bCM

+1

Sie 2047, wenn Sie die „timeIntervalSinceReferenceDate“ Konstruktor verwenden. Ich habe den gleichen Code getestet und bekomme das korrekte Datum. Sind Sie sicher, dass Sie den Konstruktor "timeIntervalSince1970" verwenden? – andre

Verwandte Themen