计算某个日期和当前时间的天数差
2013-04-10 17:19
281 查看
我的某个IOS项目中,需要分组来显示签到记录, 每天可能有多次签到, 用天来对签到记录进行分组。
每一条签到记录都有一个时间字段,分组的标题就是用时间中的日期来显示的,例如:
如果时间为 2013-1-25 01:01:01 那么分组的标题就为 2013-1-25。如果今天是2013-1-25,直接
显示2013-1-25是不是觉得体验不好?“今天”反而觉得一目了然,呵呵。
于是我写了一个函数计算某个时间和当前时间的天数差.
代码如下:
我把这个函数收入在一个工具类中,便于以后直接使用。如果你用的着,你也可以放到项目中使用。
我调用这个函数,判断返回值:
如果 result=0, 表示今天
如果 result=-1, 表示昨天
如果 result<-1 标示昨天以前
如果 result>0 标示将来的某一天。
每一条签到记录都有一个时间字段,分组的标题就是用时间中的日期来显示的,例如:
如果时间为 2013-1-25 01:01:01 那么分组的标题就为 2013-1-25。如果今天是2013-1-25,直接
显示2013-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<-1 标示昨天以前
如果 result>0 标示将来的某一天。
相关文章推荐
- C#计算某个时间距离当前日期的天数
- js 时间计算(加减天数、返回当前时间后一个星期的日期,返回格式yyyy-MM-dd)
- MYSQL计算两日期/时间之间相差的天数,秒数...分钟
- javascript中计算两个时间日期间隔的天数
- 字符串转成NSDate类型,计算与当前时间的相差,年数,天数,时分秒
- 计算两个日期的时间差,输出它们之间的天数
- java时间-计算当前日期推前,延后的方式
- asp.net 根据当前时间计算是否股票、期货、黄金交易日期
- php计算时间差/两个时间日期相隔的天数,时,分,秒
- iOS 时间戳和时间互换,计算两日期相隔天数
- mssql 计算 时间 日期 相差 天数 时间
- 获取时间方法,以及计算两个整型日期之间的天数
- 计算某个时间距离当前时间的天数,小时数以及分钟数
- 通过日期计算距离当前时间的距离
- android计算据当前时间的天数和年龄
- JavaScript计算指定日期与当前日期的相差天数
- 计算某个日期与当前日期相隔的天数
- 计算两日期相差天数(用字符串格式的时间形式来比较)、将时间戳转为字符串,开始到结束的时间差(用时间戳来比较)
- [ios]字符串转化成NSDate类型 计算与当前时间的相差 月数 天数 【转】
- 日期计算代码(1):计算当前时间前后N天