2013-12-21 28 views
0

我会计算自上次用户从后台将iOS应用程序带入前台后过去的日子吗?自上次启动以来的天数?

我想使用NSDate采取用户关闭应用程序的当前日期,但是那么我应该从哪里开始,在应用程序重新打开时再创建另一个NSDate并将其与之比较?任何帮助?

回答

3

是的,你可以使用NSUserDefaultsNSDate

当您的应用程序启动时,它应该尝试从defaults读取“firstLaunchDate”。

如果该日期不存在(无),这意味着您的应用程序首次启动=>因此是时候将当前日期存储为默认值,并且下次启动应用程序时,将从默认值中获取有效日期你可以用它做你的数学。

搜索,以便更多的,你会得到足够的代码进行

0

,如果你已经最后一次,你可以使用它。

NSDate *lastDate = [NSDate distantPast]; 
NSDate *today = [NSDate date]; 

NSTimeInterval interval = [today timeIntervalSinceDate:lastDate]; 
// interval is second 
NSLog(@"%f days", interval/(60*60*24)); 

您可能会获得浮动天数。

+0

这是*不是*计算天数的正确方法,因为一天可能多于或少于(60 * 60 * 24)秒。 (想到夏令时。) –

+0

啊! @MartinR是对的!必须计算差异时间。 –

相关问题