开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜