【发布时间】:2013-04-16 19:42:58
【问题描述】:
如何计算objectice C 格式中两天之间的日期计数差异。
【问题讨论】:
-
试试这个发布到类似问题的答案:stackoverflow.com/a/4739550/1262527
标签: iphone ios objective-c ios5 nsdate
如何计算objectice C 格式中两天之间的日期计数差异。
【问题讨论】:
标签: iphone ios objective-c ios5 nsdate
第一次运行时将您的设备安装日期存储在NSUserDefaults 中,然后使用当前日期计算该日期。
NSTimeInterval diff = [date2 timeIntervalSinceDate:date1]; // in seconds
【讨论】:
如果您的意思是“试用时间”,然后您必须注册:我会按照以下方式进行:
NSDate *installDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"InstallationDate"];
if(installDate)
{
// time in Seconds
long int timePassed = [installDate timeIntervalSinceNow] * -1;
NSLog(@"%ld", timePassed);
// now do your calculations and compare
}
else // first start
{
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"InstallationDate"];
[[NSUserDefaults standardUserDefaults] synchronize];
NSLog(@"%@", [[NSUserDefaults standardUserDefaults] objectForKey:@"InstallationDate"]);
}
(作为 Danny 帖子的补充)
【讨论】:
检查安装日期是否已注册,如果已注册则计算日期,否则请注册。
if([[NSUserDefaults standardUserDefaults] objectForKey:@"IDate"])
{
NSDate *iDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"IDate"];
NSTimeInterval interval = [[NSDate date] timeIntervalSinceDate:iDate];
int diff=interval/86400;//for converting seconds into days.
NSLog(@"%d Days",diff);
}
else
{
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"IDate"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
【讨论】: