注册 登录
主题 : 准确计算某个时间点距现在的时间差的代码 如"几分钟之前"
级别: 骑士
UID: 9965
精华: 0
发帖: 278
可可豆: 2582 CB
威望: 2582 点
在线时间: 652(时)
注册时间: 2009-10-22
最后登录: 2019-07-15
0 楼:  发表于: 2011-03-22 10:48    发自: Web Page
来源于 iPhone类代码 分类

准确计算某个时间点距现在的时间差的代码 如"几分钟之前"    (在iOS代码库中浏览本帖)

利用时间戳来计算某个时间点具现在的时间差,希望能给用到的同志们有点帮助
上代码:如果写的不好请指正!
- (NSString *)intervalSinceNow: (NSString *) theDate
{
    
    NSDateFormatter *date=[[NSDateFormatter alloc] init];
    [date setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *d=[date dateFromString:theDate];
    
    NSTimeInterval late=[d timeIntervalSince1970]*1;
    
    
    NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
    NSTimeInterval now=[dat timeIntervalSince1970]*1;
    NSString *timeString=@"";
    
    NSTimeInterval cha=now-late;
    
    if (cha/3600<1) {
        timeString = [NSString stringWithFormat:@"%f", cha/60];
        timeString = [timeString substringToIndex:timeString.length-7];
        timeString=[NSString stringWithFormat:@"%@分钟前", timeString];
        
    }
    if (cha/3600>1&&cha/86400<1) {
        timeString = [NSString stringWithFormat:@"%f", cha/3600];
        timeString = [timeString substringToIndex:timeString.length-7];
        timeString=[NSString stringWithFormat:@"%@小时前", timeString];
    }
    if (cha/86400>1)
    {
        timeString = [NSString stringWithFormat:@"%f", cha/86400];
        timeString = [timeString substringToIndex:timeString.length-7];
        timeString=[NSString stringWithFormat:@"%@天前", timeString];
        
    }
    [date release];
    return timeString;
}

帮助别人,帮助自己!大家遇到自己会的问题或曾经提问已经正确解决的问题,请把你的伟大解答回复一下!
级别: 新手上路
UID: 54322
精华: 0
发帖: 12
可可豆: 120 CB
威望: 120 点
在线时间: 32(时)
注册时间: 2011-03-02
最后登录: 2011-05-29
1 楼:  发表于: 2011-03-22 15:56    发自: Web Page
感谢 等有时间试试
级别: 骑士
UID: 9965
精华: 0
发帖: 278
可可豆: 2582 CB
威望: 2582 点
在线时间: 652(时)
注册时间: 2009-10-22
最后登录: 2019-07-15
2 楼:  发表于: 2011-03-26 11:38    发自: Web Page
我的这个帖子被cocoachina推荐到首页的"最新更新"和"热门资讯",感到很开心.算是为坛子做了点共享.
但是编辑并未注明是这个帖子很遗憾!
帮助别人,帮助自己!大家遇到自己会的问题或曾经提问已经正确解决的问题,请把你的伟大解答回复一下!
级别: 精灵王
UID: 5783
精华: 0
发帖: 336
可可豆: 7606 CB
威望: 7609 点
在线时间: 652(时)
注册时间: 2009-05-17
最后登录: 2016-04-15
3 楼:  发表于: 2011-07-31 13:48    发自: Web Page
学习了。。使用了。。方便了。。感谢了。。 顶。
级别: 新手上路
UID: 60678
精华: 0
发帖: 27
可可豆: 252 CB
威望: 252 点
在线时间: 87(时)
注册时间: 2011-03-30
最后登录: 2016-10-27
4 楼:  发表于: 2011-08-19 15:17    发自: Web Page
mark下,以后会用到
级别: 新手上路
UID: 80754
精华: 0
发帖: 17
可可豆: 170 CB
威望: 170 点
在线时间: 85(时)
注册时间: 2011-07-12
最后登录: 2014-10-28
5 楼:  发表于: 2011-08-19 15:20    发自: Web Page
谢谢Lz分享,Mark
级别: 新手上路
UID: 33262
精华: 0
发帖: 23
可可豆: 149 CB
威望: 149 点
在线时间: 79(时)
注册时间: 2010-10-11
最后登录: 2014-08-05
6 楼:  发表于: 2011-10-11 12:06    发自: Web Page
学习了 谢谢分享
级别: 圣骑士
UID: 15373
精华: 0
发帖: 398
可可豆: 3575 CB
威望: 3575 点
在线时间: 755(时)
注册时间: 2010-03-13
最后登录: 2016-12-03
7 楼:  发表于: 2011-10-27 10:22    发自: Web Page
感谢分享
级别: 新手上路
UID: 52568
精华: 0
发帖: 44
可可豆: 260 CB
威望: 260 点
在线时间: 241(时)
注册时间: 2011-02-22
最后登录: 2017-10-20
8 楼:  发表于: 2011-11-09 10:50    发自: Web Page
哦哦哦,不行啊,我把参数@"2011/11/08 05:30:40"传进去后,得到15287天前。。。求指点
行者无疆
级别: 骑士

UID: 56980
精华: 1
发帖: 274
可可豆: 2231 CB
威望: 2230 点
在线时间: 681(时)
注册时间: 2011-03-14
最后登录: 2019-09-04
9 楼:  发表于: 2011-11-10 09:26    发自: Web Page
这个也太山寨了吧。。

CocoaChina社区转载内容已尽可能注明出处,如未能核实来源或转发内容图片有权利瑕疵的,请及时联系社区进行修改或删除【联系方式QQ : 3442093904 邮箱:support@cocoachina.com】文章内容为作者独立观点,不代表CocoaChina社区立场。版权归原作者所有,如申请授权请联系作者,因文章侵权CocoaChina社区不承担任何法律及连带责任。

描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部