问题描述
- 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) - (void)viewDidAppear:(BOOL)animated
解决方案
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;
}
时间: 2024-08-01 18:59:42