我有以下代码:
NSNumber *number = @(1388534400000);
NSDate *date = [NSDate dateWithTimeIntervalSince1970:[number unsignedIntegerValue]];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
[self.label setText:[dateFormatter stringFromDate:date]];它在我的iPhone 5上写iPhone,在iPhone 5上写45970. november 27.。我想原因是,在32位架构上,unix时间戳是在几秒钟内处理的,而在64位上,它们需要以毫秒为单位。如何检测架构?64位架构除以1000是解决这个问题的好方法吗?有什么更优雅的方法来处理这件事吗?
发布于 2014-09-25 16:09:17
这不是64位的问题。
NSTimeInterval被定义为double,因此请使用:
NSNumber *number = @(1388534400.000);
NSDate *date = [NSDate dateWithTimeIntervalSince1970:[number doubleValue]];https://stackoverflow.com/questions/26043112
复制相似问题