timeintervalsince1970 是秒还是毫秒 ios

 我来答
以人我00
2017-10-28 · 超过30用户采纳过TA的回答
知道答主
回答量:103
采纳率:7%
帮助的人:35.8万
展开全部
  - (int)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/86400>1)
  {
  timeString = [NSString stringWithFormat:@"%f", cha/86400];
  timeString = [timeString substringToIndex:timeString.length-7];
  return [timeString intValue];
  }
  return -1;
  }

  面例计算相差几

  计算其数值
  cha/3600<1 钟
  if (cha/3600>1&&cha/86400<1)

  01
  // 获取前期
  02
  NSDate *date = [NSDate date];
  03
  
  04
  // 打印结: 前间 date = 2013-08-16 09:00:04 +0000
  05
  NSLog(@"前间 date = %@",date);
  06
  
  07
  // 获取某期始往前或者往久期处60代表60秒需要获取前60改-60即
  08
  date = [[NSDate alloc] initWithTimeInterval:60 sinceDate:[NSDate date]];
  09
  
  10
  //打印结:前间 往60s间date = 2013-08-16 09:01:04 +0000
  11
  NSLog(@"前间 往60s间date = %@",date);
  PS:测试间午5点前间却午9点相差8区问题

  解决办:

  1
  NSTimeZone *zone = [NSTimeZone systemTimeZone];
  2
  
  3
  NSInteger interval = [zone secondsFromGMTForDate: date];
  4
  
  5
  NSDate *localDate = [date dateByAddingTimeInterval: interval];
  6
  
  7
  // 打印结 确前间 localDate = 2013-08-16 17:01:04 +0000
  8
  NSLog(@"确前间 localDate = %@",localDate);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小事椅子Bf
2022-03-21 · 贡献了超过138个回答
知道答主
回答量:138
采纳率:0%
帮助的人:3.1万
展开全部
秒,乘以1000是毫秒
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式