facebook的时间跨度(ios申请)

时间:2011-07-20 08:04:47

标签: iphone objective-c facebook ios4 iphone-sdk-3.0

我想计算推特和脸书的时间跨度。

对于twitter:-Tue Jul 19 11:08:46 +0000 2011

for facebook:-2011-07-18T15:25:09 + 0000

我想将它转换为喜欢,1小时前,60分钟前,2薄荷前等。

如何比较时间排序的这些时间值。

请提供任何示例代码或任何类引用链接,以便我可以这样做。

1 个答案:

答案 0 :(得分:2)

-(NSString *)dateDiff:(NSString *)origDate {
    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setFormatterBehavior:NSDateFormatterBehavior10_4];
    [df setDateFormat:@"EEE, dd MMM yy HH:mm:ss VVVV"];
    NSDate *convertedDate = [df dateFromString:origDate];
    [df release];
    NSDate *todayDate = [NSDate date];
    double ti = [convertedDate timeIntervalSinceDate:todayDate];
    ti = ti * -1;
    if(ti < 1) {
        return @"never";
    } else      if (ti < 60) {
        return @"less than a minute ago";
    } else if (ti < 3600) {
        int diff = round(ti / 60);
        return [NSString stringWithFormat:@"%d minutes ago", diff];
    } else if (ti < 86400) {
        int diff = round(ti / 60 / 60);
        return[NSString stringWithFormat:@"%d hours ago", diff];
    } else if (ti < 2629743) {
        int diff = round(ti / 60 / 60 / 24);
        return[NSString stringWithFormat:@"%d days ago", diff];
    } else {
        return @"never";
    }   
}