2012-06-01 133 views
0

我有一个日期选择器的日期,我要使它成为一个UNIX时间戳,我登录,但得到一个错误的值,IOS日期选取器unix时间戳

这里我的代码:

time_t unixTime = (time_t) [self.datePicker.date timeIntervalSince1970]; 

    NSLog(@"el timestamp:: %lo", unixTime); 

这是日志

2012-06-01 22:13:18.543 ClientApp[50494:12503] escojio ::2012-06-01 12:12:16 +0000 
2012-06-01 22:14:13.163 ClientApp[50494:12503] el timestamp:: 11762137660 

我去一个时间戳计算器,并得到一个完全错误的时候,我一定要以某种方式格式化?

所以我做错了什么?

谢谢!

+2

什么是'完全错误的时间',你期望得到什么时间/格式? – Manuel

+2

当您真正想要“NSDate unix timestamp”时,您通过说“ios date picker unix timestamp”使问题变得复杂化。 'timeIntervalSince1970'是正确的选择。 –

回答

3

%lo格式说明符以八进制表示法输出一个数字。你确定你用相同的符号将它与Unix时间戳相比较吗?

11762137660(oct)== 1338556336(dec),这听起来对今天是正确的。

+0

好的我看到谢谢,但我怎么会记录/格式与字符串,很长时间,time_t说是一个很长的时间,但当我尝试记录它,它不喜欢%lld,%llu或%Lf,所以如何日志或格式正确(dec),我的var?谢谢! – MaKo

+0

看看[字符串格式说明符](https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html)。对于'long',使用'%ld'。 –