我会计算自上次用户从后台将iOS应用程序带入前台后过去的日子吗?自上次启动以来的天数?
我想使用NSDate采取用户关闭应用程序的当前日期,但是那么我应该从哪里开始,在应用程序重新打开时再创建另一个NSDate并将其与之比较?任何帮助?
我会计算自上次用户从后台将iOS应用程序带入前台后过去的日子吗?自上次启动以来的天数?
我想使用NSDate采取用户关闭应用程序的当前日期,但是那么我应该从哪里开始,在应用程序重新打开时再创建另一个NSDate并将其与之比较?任何帮助?
是的,你可以使用NSUserDefaults
和NSDate
。
当您的应用程序启动时,它应该尝试从defaults
读取“firstLaunchDate”。
如果该日期不存在(无),这意味着您的应用程序首次启动=>因此是时候将当前日期存储为默认值,并且下次启动应用程序时,将从默认值中获取有效日期你可以用它做你的数学。
搜索,以便更多的,你会得到足够的代码进行
,如果你已经最后一次,你可以使用它。
NSDate *lastDate = [NSDate distantPast];
NSDate *today = [NSDate date];
NSTimeInterval interval = [today timeIntervalSinceDate:lastDate];
// interval is second
NSLog(@"%f days", interval/(60*60*24));
您可能会获得浮动天数。
这是*不是*计算天数的正确方法,因为一天可能多于或少于(60 * 60 * 24)秒。 (想到夏令时。) –
啊! @MartinR是对的!必须计算差异时间。 –