- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我从数据库中获取了一个 unix 时间戳,我正在尝试从中创建一个人类可读的日期。我是这样用的
long t1=[time longLongValue];
NSDate* date=[NSDate dateWithTimeIntervalSince1970:t1];
其中 time 是时间戳。当我打印日期时,我得到
1956-02-18 19:04:01 +0000
代替
2013-01-02 12:31:03 +0000
时间戳是 1356765933449
最佳答案
正如鲍里斯在他的回答中正确指出的那样,这是一个整数溢出问题。
我不知道你的 time
对象是什么,但不是 signed long int
使用 NSTimeInterval
。
在 iOS 上 NSTimeInterval
当前定义为
typedef double NSTimeInterval;
但你不应该太在意这个。坚持使用类型同义词可以保护你,以防 Apple 决定将基础定义更改为其他内容。
也就是说你应该把你的代码改成类似的东西
NSTimeInterval epoch = [time doubleValue];
NSDate * date = [NSDate dateWithTimeIntervalSince1970:epoch];
关于我之前描述的代码可维护性问题,这里你明确地使用了一个doubleValue
(你没有太多选择),但好消息是如果苹果改变了NSTimeInterval
定义为与 double
赋值不兼容的内容,编译器会通知您。
关于iphone - 如何将 unix 时间戳转换为人类可读时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14121403/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!