iOS 时间戳转化为时间(附13位转10位方法)

    xiaoxiao2021-11-30  22

    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-09-24 19:00:000” 这样转化是比较简单,但是时间戳不是这样的,ios生成的时间戳是10位,所以说需要进行转换。以下有几种方式:

    第一种:

    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]);

    转载请注明原文地址: https://ju.6miu.com/read-679079.html

    最新回复(0)