与timeIntervalSince1970古怪行为
-
06-09-2019 - |
题
我看到试图让秒钟,因为在客观C.这种划时代的奇怪的行为:
NSString *nowTimestamp = [NSString stringWithFormat:@"%d",
[[NSDate date] timeIntervalSince1970]];
输出15907296,当当前时间戳应该是1243555623(2009年5月28日@下午7点08分EST)。系统时间在iPhone上是正确的。我想不通,我的生活中,我做错了什么。任何建议?
解决方案
timeIntervalSince1970返回一个NSTimeInterval,其是用于双一个typedef; %d不打印双(要%F)。
的权利格式化其他提示
由于从[[NSDate date] timeIntervalSince1970];
回报是双重,你可以试试这个:
NSString *nowTimestamp = [NSString stringWithFormat:@"%f",
[[NSDate date] timeIntervalSince1970]];
您确定从NSDate
结果是一个小数诠释?该文档说,这是一个双。你可以尝试铸造。
此外,有时你会得到一个指针值回而不是实际价值,如果事情是盖下NSNumber
,您可能需要使用intValue
,或doubleValue
得到的东西是在地址的实际内容。
不隶属于 StackOverflow