Measuring time Interval Since Now
anyone know or can provide some example code relating to "timeIntervalSinceNow" method...
I need something like... time2(when app eneters foreground) - time1(when app enters background) = time3(the difference in times)... this is so i can use this number(pref in seconds)开发者_开发技巧 to calculate the time i have lost while the app has been in background !!
I am having trying trying to create the date objects, receive the object and display/use in a label....
Actually, to answer your original question, myles, you can use timeIntervalSinceNow
.
In the statement below, inputDate
has been initialized as an NSDate
and set to some date (you could just try [NSDate *inputDate = [NSDate date];
to set the date at the current date and time.
NSTimeInterval timeToAlert =[inputDate timeIntervalSinceNow];
The next line is a way to put that NSTimeInterval
into a string.
NSMutableString *timeinterval = [NSMutableString string];
[timeinterval appendFormat:@"%f",timeToAlert];
Finally, the app delegate class is typically where code can be written to handle coming in and out of background. Good luck!
timeIntervalSinceNow
tells you the offset of an NSDate
from the current time. You want timeIntervalSinceDate:
:
NSDate *appEnteredForeground = ...;
NSDate *appEnteredBackground = ...;
NSTimeInterval difference = [appEnteredBackground timeIntervalSinceDate: appEnteredForeground];
You can calculate the difference between two dates with the timeIntervalSinceDate:
method:
//When app enters background:
self.backgroundDate = [NSDate date]; //this should be a property
//...
//When the app comes back to the foreground:
NSTimeInterval timeSpentInBackground = [[NSDate date] timeIntervalSinceDate:self.backgroundDate];
NSTimeInterval
is simply a typedef for double
, it's measured in seconds. [NSDate date]
instantiates an NSDate
object with the current date and time.
精彩评论