关于ios中时间差的计算

最近工作中遇到了涉及时间差的计算,一般拿到的都是一个long型的毫秒值,那么再拿到当前的时间,转换成long型,然后,进行相减,然后把这个毫秒为单位的值转成 秒,分,小时,天,就是这么个流程,其实还是蛮简单的,但是,因为陷入了NSDate的误区,导致我,一直没转过来弯。

贴代码,希望,大家遇到这样的问题,直接copy就ok。


- (NSString *)intervalSinceNow: (NSString *) theDate

{

 

    NSDateFormatter *formatter = [[NSDateFormatteralloc] init];

    [formatter setDateStyle:NSDateFormatterMediumStyle];

    [formatter setTimeStyle:NSDateFormatterShortStyle];   

    [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];// ----------设置你想要的格式,hhHH的区别:分别表示12小时制,24小时制

    

    NSTimeZone* timeZone = [NSTimeZonetimeZoneWithName:@"Asia/Beijing"];

    [formatter setTimeZone:timeZone];

    

    NSDate *datenow = [NSDatedate];


    long dd = (long)[datenowtimeIntervalSince1970] - [theDate longLongValue]/1000;

    NSString *timeString=@"";

    if (dd/3600<1

    { 

        timeString = [NSStringstringWithFormat:@"%d", dd/60];

        timeString=[NSStringstringWithFormat:@"%@分钟前", timeString];

    } 

    if (dd/3600>1&&dd/86400<1

    { 

        timeString = [NSStringstringWithFormat:@"%d", dd/3600]; 

        

        timeString=[NSStringstringWithFormat:@"%@小时前", timeString]; 

    } 

    if (dd/86400>1)

    {

        timeString = [NSStringstringWithFormat:@"%d", dd/86400];

        timeString=[NSStringstringWithFormat:@"%@天前", timeString];

        

    }

    NSLog(@"=====%@",timeString);


    return timeString;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值