时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。
正常时间格式转为时间戳(10位数字):
NSDate*date = [NSDatedate];
NSString*dateStr = [NSStringstringWithFormat:@"%ld",(long)[datetimeIntervalSince1970]];
NSLog(@"时间戳:%@",dateStr);
时间戳(10位数字)转为正常时间格式:
str存储的是时间戳数据
NSDateFormatter*formatter = [[NSDateFormatteralloc]init];
NSTimeZone*timeZone = [NSTimeZonetimeZoneWithName:@"Asia/Shanghai"];
[formattersetTimeZone:timeZone];
[formattersetDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate*currentDate = [NSDatedateWithTimeIntervalSince1970:[strlongLongValue]];
NSString* formDateStr = [formatterstringFromDate:currentDate];
NSLog(@"当前时间:%@",formDateStr);
时间戳(13位数字)转为正常时间格式:
NSString*str = dict[@"operationDate"];
//时间戳转换 这步是关键
CGFloatstrrr = ([strlongLongValue])/1000 - 28800;
NSLog(@"==%@",str);
NSDateFormatter*formatter = [[NSDateFormatteralloc]init];
NSTimeZone*timeZone = [NSTimeZonetimeZoneWithName:@"Asia/Shanghai"];
[formattersetTimeZone:timeZone];
[formattersetDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate*currentDate = [NSDatedateWithTimeIntervalSince1970:strrr];
NSString* formDateStr = [formatterstringFromDate:currentDate];
NSLog(@"当前时间:%@",formDateStr);