从Unix时间戳创建NSDate

JoJ*_*oJo 43 objective-c

如何从Unix时间戳创建NSDate?

channel.startDate = [NSDate dateWithTimeIntervalSince1970:
(NSTimeInterval)[channelJson objectForKey:@"broadcastStartedTime"]];
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

104:错误:指向预期浮点值的指针值

channels.startDate是一个NSDate*.键"broadcastStartedTime"的值是Number转换为NSNumberNSDecimalNumber通过SBJson解析器库的Javascript .

Way*_*man 55

试试这个:

NSNumber *startTime = channelJson[@"broadcastStartedTime"];
channel.startDate = [NSDate dateWithTimeIntervalSince1970:[startTime doubleValue]];
Run Code Online (Sandbox Code Playgroud)

您的值被捕获在指针类型中NSNumber.该dateWithTimeIntervalSince1970方法期望一个原语NSTimeInterval(在封面下,是一个原语double).


BJ *_*mer 7

用途-doubleValue:

// NSTimeInterval is just a typedef for double
NSTimeInterval interval = [[channelJson objectForKey:@"broadcastStartedTime"] doubleValue];
channel.startDate = [NSDate dateWithTimeIntervalSince1970:interval];
Run Code Online (Sandbox Code Playgroud)