我实际上正在使用fbconnect,并且我正在尝试获取代表一个月前的unix时间。我对 1970 年以来的事情感到非常困惑。因为有人给我指出了正确的方向?
最佳答案
与 Unix epoch ,时间“0”是 1970 年 1 月 1 日午夜。此后每一秒都会增加一秒;我写这篇文章的时间是:
>>> import time
>>> time.time()
1257023557.94208
大多数系统使用 Unix 纪元进行通信,因为它很简单,是事实上的标准,并且允许整数运算。您可以从 NSDate
获取表示自纪元以来的持续时间的 NSTimeInterval
,如下所示:
NSTimeInterval timestamp = [[NSDate date] timeIntervalSince1970];
NSTimeInterval 只是一个 double 值。如果你想要一个整数——我想 fbconnect 需要——只需转换它(未经测试):
NSString *strtimestamp = [NSString stringWithFormat:"%u", [timestamp unsignedIntegerValue]];
记住,这只是一个计数。您可以通过减去 3600 (60 * 60) 来减去一小时,通过添加 86400 (24 * 60 * 60) 来添加一天,依此类推;但是,根据您的情况,最好从代表您想要的特定时间的 NSDate 开始,并允许库为您进行算术运算。
NSDate
可能只是这些时间戳的包装。
关于iPhone 开发者 : Working with unix time?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1655644/