固予iOS点滴iOS收藏

iOS开发之时间日期比较

2015-12-10  本文已影响5138人  朱晓晓的技术博客

APP会弹出评分窗口,又或者弹出更新版本窗口,频率几乎都会是固定的,这里主要是用了APP在上次打开日期和当前打开的时间差,进而触发事件.上代码.

Paste_Image.png
#pragma mark - 版本更新提示频率事件

-(void)getCurrentTime{

//输出的时间是格林威治标准时间本初子午线穿过哪里

NSDate*currentDate = [NSDatedate];

NSLog(@"currentDate%@",currentDate);

//读取上次打开时间

NSDate*userLastOpenDate =[[NSUserDefaultsstandardUserDefaults]objectForKey:@"AppTimeLastOpenDate"];

NSLog(@"userLastOpenDate%@",userLastOpenDate);

//日历

NSCalendar*calendar = [NSCalendarcurrentCalendar];

//计算两个日期的差值

NSDateComponents*cmps= [calendarcomponents:NSCalendarUnitDayfromDate:userLastOpenDatetoDate:currentDateoptions:NSCalendarMatchStrictly];

//定义isAPPUpdateTime全局变量,至于如何定义,请参阅以往文章

AppDelegate*appdelegate = (AppDelegate*)[UIApplicationsharedApplication].delegate;

NSLog(@"(long)cmps.second%ld",(long)cmps.second);

if(cmps.date>0) {

appdelegate.isAPPUpdateTime=YES;

//版本更新

[selfAppVersionCheckRemind];

NSLog(@"时间分钟差值--->%@",cmps);

}else

{

appdelegate.isAPPUpdateTime=NO;

}

NSLog(@"---->%hhd",appdelegate.isAPPUpdateTime);

//把当前打开的时间保存起来(如果设置数据之后没有同步,会在将来某一时间点自动将数据保存到Preferences文件夹下面)

[[NSUserDefaultsstandardUserDefaults]setObject:currentDateforKey:@"AppTimeLastOpenDate"];

//强制让数据立刻保存

[[NSUserDefaultsstandardUserDefaults]synchronize];

}
上一篇下一篇

猜你喜欢

热点阅读