iOS 时间戳转化为时间(附13位转10位方法)
发布时间
阅读量:
阅读量
NSString *str=@"1368082020";//时间戳
NSTimeInterval time=[str doubleValue]+28800;//因为时差问题要加8小时 == 28800 sec
NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];
NSLog(@"date:%@",[detaildate description]);
//实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//设定时间格式,这里可以设置成自己需要的格式
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *currentDateStr = [dateFormatter stringFromDate: detaildate];
13位转10位方法(其实除以1000即可)
在iOS项目中存在将服务端返回的时间转换为客户端显示的问题。当服务端将时间发送至客户端时,在其中的时间是一个带有13位的计时戳。如果是普通字符串如‘2015-9-24 19:’这样的形式,则相对简便。但值得注意的是,在iOS系统中生成的时间戳通常是基于小时、分钟和秒的十位数表示法,并非像普通字符串那样直接使用日期格式加上零头数字。因此需要进行相应的转换处理。
第一种:
NSString * timeStampString = @"1423189125874";
NSDate *date = [NSDate dateWithTimeIntervalSince1970:[timeStampString doubleValue] / 1000];
NSLog(@"%f", ([date timeIntervalSince1970] * 1000.0));
第二种:
NSString * timeStampString = @"1423189125874";
NSTimeInterval _interval=[[timeStampString substringToIndex:10] doubleValue];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];
NSLog(@"%@", date);
格式化时间:
NSString * timeStampString = @"1423189125874";
NSTimeInterval _interval=[timeStampString doubleValue] / 1000.0;
NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];
NSDateFormatter *objDateformat = [[NSDateFormatter alloc] init];
[objDateformat setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];
NSLog(@"%@", [objDateformat stringFromDate: date]);
在社交平台上发布内容
全部评论 (0)
还没有任何评论哟~
