IOS 计算时间差

本文介绍了一种在iOS应用中计算两个日期时间差的方法,并展示了如何根据时间差展示友好的时间描述,如“几分钟前”、“几小时前”等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


//计算上报时间差
         NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
         [formatter setDateFormat:@ "YYYY-MM-dd HH:mm:ss" ]; //设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
         NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@ "Asia/Beijing" ];
         [formatter setTimeZone:timeZone];
         NSDate *datenow = [NSDate date];
         //设置一个字符串的时间
         NSMutableString *datestring = [NSMutableString stringWithFormat:@ "%@" ,20141202052740];
         //注意 如果20141202052740必须是数字,如果是UNIX时间,不需要下面的插入字符串。
         [datestring insertString:@ "-"  atIndex:4];
         [datestring insertString:@ "-"  atIndex:7];
         [datestring insertString:@ " "  atIndex:10];
         [datestring insertString:@ ":"  atIndex:13];
         [datestring insertString:@ ":"  atIndex:16];
         NSLog(@ "datestring==%@" ,datestring);
         NSDateFormatter * dm = [[NSDateFormatter alloc]init];
         //指定输出的格式   这里格式必须是和上面定义字符串的格式相同,否则输出空
         [dm setDateFormat:@ "YYYY-MM-dd HH:mm:ss" ];
         NSDate * newdate = [dm dateFromString:datestring];
         long  dd = ( long )[datenow timeIntervalSince1970] - [newdate timeIntervalSince1970];
         NSString *timeString=@ "" ;
         if  (dd/3600<1)
         {
             timeString = [NSString stringWithFormat:@ "%ld" , dd/60];
             timeString=[NSString stringWithFormat:@ "%@分钟前" , timeString];
         }
         if  (dd/3600>1&&dd/86400<1)
         {
             timeString = [NSString stringWithFormat:@ "%ld" , dd/3600];
             timeString=[NSString stringWithFormat:@ "%@小时前" , timeString];
         }
         if  (dd/86400>1)
         {
             timeString = [NSString stringWithFormat:@ "%ld" , dd/86400];
             timeString=[NSString stringWithFormat:@ "%@天前" , timeString];
         }
         NSLog(@ "=====%@" ,timeString);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值