首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从32/64位存储在NSNumber中的unix时间戳创建NSNumber

从32/64位存储在NSNumber中的unix时间戳创建NSNumber
EN

Stack Overflow用户
提问于 2014-09-25 16:03:29
回答 1查看 503关注 0票数 1

我有以下代码:

代码语言:javascript
复制
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是解决这个问题的好方法吗?有什么更优雅的方法来处理这件事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-25 16:09:17

这不是64位的问题。

NSTimeInterval被定义为double,因此请使用:

代码语言:javascript
复制
NSNumber *number = @(1388534400.000);
NSDate *date = [NSDate dateWithTimeIntervalSince1970:[number doubleValue]];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26043112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档