创建一个计时器,指示从今天开始的事件

时间:2014-04-25 16:13:25

标签: ios objective-c uitableview time

我有一个在Unix时间戳中从服务器检索的日期,这就是我检索它的方式,它运行正常:

double unixTimeStamp = [[date objectAtIndex:indexPath.row / 2] doubleValue];
NSTimeInterval _interval=unixTimeStamp;
NSDate *dateToFinal = [NSDate dateWithTimeIntervalSince1970:_interval];
NSDateFormatter *_formatter=[[NSDateFormatter alloc]init];
_formatter.dateFormat = @"yyyy-MMMM-dd HH:mm:ss zzz";
[_formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:[[NSUserDefaults standardUserDefaults] objectForKey:@"timeZone"]] ];
[_formatter setDateFormat:@"dd-MMMM-yyyy"];
dateFinal=[_formatter stringFromDate:dateToFinal];


NSDateFormatter *_formatter2=[[NSDateFormatter alloc]init];
_formatter2.dateFormat = @"yyyy-MMMM-dd HH:mm:ss zzz";
[_formatter2 setTimeZone:[NSTimeZone timeZoneWithAbbreviation:[[NSUserDefaults standardUserDefaults] objectForKey:@"timeZone"]] ];
[_formatter2 setDateFormat:@"HH:mm"];
dateTime =[_formatter2 stringFromDate:dateToFinal];

这个日期是在tableViewCell中加载的,有什么方法可以在该自定义单元格中创建一个字段,在该字段中它会向我显示事件的剩余日期吗?
例如:
事件发生日期:2014年4月27日晚上7点,因此该字段应显示:
活动剩余2天2小时。

谢谢

1 个答案:

答案 0 :(得分:0)

逻辑是获取时间戳(从1970年开始的秒数nr)并逐步转换它。

int timestamp = [[NSDate date] timeIntervalSince1970];
  • 从1年的秒数开始
  • 如果您的时间戳大于1年时间戳
  • 然后提高nr年,然后改变你的 带有1年时间戳的时间戳

  • 否则检查1个月之间的差异并遵循相同的逻辑

GitHub上有很多库可以做到这一点。

例如:

检查出来! :)