我的某个IOS项目中,需要分组来显示签到记录,每天可能有多次签到,用天来对签到记录进行分组。
每一条签到记录都有一个时间字段,分组的标题就是用时间中的日期来显示的,例如:
如果时间为-1-25 01:01:01 那么分组的标题就为-1-25。如果今天是-1-25,直接
显示-1-25是不是觉得体验不好?“今天”反而觉得一目了然,呵呵。
于是我写了一个函数计算某个时间和当前时间的天数差.
代码如下:
+ (NSInteger)numberOfDaysFromTodayByTime:(NSString *)time timeStringFormat:(NSString *)format
{//format可以形如: @"yyyy-MM-dd"
NSDate*today =[NSDate date];
NSTimeZone*localTimeZone =[NSTimeZone systemTimeZone];
NSDateFormatter*formatter =[[NSDateFormatter alloc] init];
[formatter setTimeZone:localTimeZone];
[formatter setDateFormat:NSLocalizedString(format,nil)];//时分秒转为00:00:00
NSDate *today2 =[formatter dateFromString:[formatter stringFromDate:today]];
NSDate*newDate =[formatter dateFromString:time];//时分秒转为00:00:00
NSDate *newDate2 =[formatter dateFromString:[formatter stringFromDate:newDate]];double dToday =[G2XToolkits numberOfSecondsFrom1970:today2];double dNewDate =[G2XToolkits numberOfSecondsFrom1970:newDate2];
NSInteger nSecs= (NSInteger)(dNewDate -dToday);
NSInteger oneDaySecs= 24*3600;return nSecs /oneDaySecs;
}
我把这个函数收入在一个工具类中,便于以后直接使用。如果你用的着,你也可以放到项目中使用。
我调用这个函数,判断返回值:
如果result=0,表示今天
如果result=-1,表示昨天
如果 result
如果result>0 标示将来的某一天。
如果觉得《当前时间距离某个时间的天数计算_计算某个日期和当前时间的天数差》对你有帮助,请点赞、收藏,并留下你的观点哦!