objc转换unix日期

时间:2010-08-03 13:40:21

标签: objective-c unix date

我遇到了一个小问题 。 我有.net json输出的日期格式:

日期(1280471989140);

当我尝试使用

转换时
+ (NSDate*)dateFromUnixDate:(double)unixdate {
    NSTimeInterval unixDate = unixdate;
    return [NSDate dateWithTimeIntervalSince1970:unixDate];}

但我错了约会,为什么?

感谢

1 个答案:

答案 0 :(得分:2)

我刚做了一些检查,JSON日期格式是自1970年以来的毫秒,而不是秒。要完成这项工作,您需要将功能更改为

+ (NSDate*)dateFromUnixDate:(double)unixdate 
{
    NSTimeInterval unixDate = unixdate / 1000.0;
    return [NSDate dateWithTimeIntervalSince1970:unixDate];
}

或没有类别方法,这也可以起作用

int main(int argc, char *argv[]) 
{
    uint64_t jsonDate = 1280471989140UL;
 NSTimeInterval unixDate = (double)jsonDate / 1000.0;
 NSDate *date = [NSDate dateWithTimeIntervalSince1970:unixDate];
 NSLog(@"%@",date);
}