XiaoXiao1314_520 2015-04-27 05:56 采纳率: 20%
浏览 2677
已采纳

iOS 计算起始时间和终止时间的差

简单的就是说 a = 终止 - 起始
求大神 帮忙解答,
求代码演示;

我是这样算的

  • (void)viewDidAppear:(BOOL)animated
    {

    NSDateFormatter *formatter =[[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy-MM-dd-HH-mm-ss"];
    self.currentTime = [formatter stringFromDate:[NSDate date]];
    NSLog(@"DATE = %@", [NSDate date]);

    NSLog(@"ooooo%@", self.currentTime);

}

  • (void)viewWillDisappear:(BOOL)animated { NSDateFormatter *date=[[NSDateFormatter alloc] init]; [date setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString *currentEndTime = [date stringFromDate:[NSDate date]]; NSCalendar *cal=[NSCalendar currentCalendar]; unsigned int unitFlags= NSYearCalendarUnit| NSMonthCalendarUnit| NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit; NSDateComponents *d = [cal components:unitFlags fromDate:self.currentTime toDate:currentEndTime options:0]; NSLog(@"%d天%d小时%d分钟%d秒",[d day],[d hour],[d minute],[d second]);

}

打印

015-04-27 13:47:36.082 H_J_4[30420:576015] -[__NSCFString timeIntervalSinceReferenceDate]: unrecognized selector sent to instance 0x7fd6c144ebd0
(lldb)

  • 写回答

1条回答 默认 最新

  • WorldMobile 2015-04-27 06:05
    关注

    ios计算时间差 转
    //模拟windows下 GetTickCount //
    //#import

    • (int)mxGetTickCount;
      {
      int timeTick;
      mach_timebase_info_data_t info;
      uint64_t machineTime;
      mach_timebase_info(&info);
      machineTime =mach_absolute_time();
      timeTick = machineTime * info.numer / info.denom /1000000LL;

      return timeTick;
      }

    // NSDate timeIntervalSinceDate:

    //下面转换NSString,用在保存时间时使用。

    • (double)GetStringTimeDiff:(NSString*)timeS timeE:(NSString*)timeE

    {

    double timeDiff = 0.0;
    
    NSDateFormatter *formatters = [[NSDateFormatter alloc] init];
    [formatters setDateFormat:@"yyyy/MM/dd HH:mm:ss:SSS"];
    NSDate *dateS = [formatters dateFromString:timeS];
    
    
    
    NSDateFormatter *formatterE = [[NSDateFormatter alloc] init];
    [formatterE setDateFormat:@"yyyy/MM/dd HH:mm:ss:SSS"];
    NSDate *dateE = [formatterE dateFromString:timeE];
    
    
    timeDiff = [dateE timeIntervalSinceDate:dateS ];
    
    return timeDiff;
    

    }

    • (NSString*)GetCurTime

    {

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    
    [formatter setDateFormat:@"yyyy/MM/dd HH:mm:ss:SSS"];
    
    NSString*timeString=[formatter stringFromDate: [NSDate date]];
    
    [formatter release];
    
    return timeString;
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器