我看到试图让秒钟,因为在客观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得到的东西是在地址的实际内容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top