timeIntervalSinceDate problem
last resort, wie ich kann nicht für das Leben von mir, es klappt!
Bin ich ein Datum festzulegen, wenn mein app geschlossen ist (mit applicationWillTerminate) in user defaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDate *timeClosed = [[NSDate alloc] init];
[defaults setObject: timeClosed forKey:@"svdTimeClosedApp"];
dann, wenn die app gestartet wird, will ich vergleichen, dieses mal mit
NSDate *timeSaved = svdTimeClosedApp;
NSDate *timeNow = [[NSDate alloc] init];
double timeInterval = [timeSaved timeIntervalSinceDate:timeNow];
NSLog(@"time now = %@, time saved = %@, time diff = %@", timeNow, timeSaved, [NSString stringWithFormat:@"%d",timeInterval]);
Ich habe versucht, die Ausgabe zu diesem log-Fenster zu sehen erwartet, einen schön formatierten string um rund 20 Sekunden. Problem ist, es kommen, wie 2047868928!
Irgendwelche Ideen?!
(output des log-Fensters unten)
time now = 2009-12-19 20:54:02 +0000, time saved = 2009-12-19 20:48:29 +0000, time diff = 2047868928
Vielen Dank für jede Hilfe!!!
InformationsquelleAutor Matt Facer | 2009-12-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
gibt es ein paar Probleme. Erste, in Ihrem
stringWithFormat:
Sie verwenden möchten, %g, nicht %d, %d für integer-Werte. Auch sollten Sie[timeNow timeIntervalSinceDate:timeSaved]
Ihren aktuellen Anruf geben Sie einen negativen Wert ein.InformationsquelleAutor Elfred
Hier ist der code, den ich verwenden.
In meiner app, wenn der Benutzer synchronisiert werden einige Daten, nehme ich das aktuelle Datum/Uhrzeit mit diesem code:
Dann, wenn ich will, um zu sehen, wie viele Tage es gewesen ist, seit Sie zuletzt synchronisiert, kann ich dieses verwenden:
Hoffe, das hilft.
Mike
http://www.MikesKnowledgeBase.com
InformationsquelleAutor Mike Gledhill
Ich glaube, Sie haben Ihre
timeInterval
Berechnung rückwärts, nicht wahr? Ich denke, Sie wollen sagen, es Umgekehrt.Haben Sie jemals herausfinden?
InformationsquelleAutor Marc W