私は新しいタイプの問題に直面しています。時間表示が「1分前」のチャットアプリを作っています。フェイスブックのように。しかし、問題は、24時間のようにiPhoneの時間形式を切り替えると、時間が更新されないことです。
-(NSString *)calculateTimeSpend:(NSString *)serCurTime andMessagePostTime:(NSString *)serPostTime
{
actTime = 0;`
strTime = NULL;
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];
NSDate *serTime = [formatter dateFromString:serCurTime];
NSDate *postTime = [formatter dateFromString:serPostTime];
NSTimeInterval interval = [serTime timeIntervalSinceDate:postTime];
//NSLog(@"server - %@, post - %@, interval - %f", serCurTime, serPostTime, interval);
[formatter release];
NSString *actualTime = NULL;
if (interval<60)
{
//actTime = interval;
//strTime = @"sec(s)";
actualTime = @"Less a min ago.";
return actualTime;
}
else if (interval < 3600)
{
actTime = trunc(interval/60);
strTime = @"min(s)";
}
else if (interval < 86400)
{
actTime = trunc(interval/3600);
strTime = @"hour(s)";
}
else
{
actTime = trunc(interval/86400);
strTime = @"day(s)";
}
actualTime = [NSString stringWithFormat:@"%i %@ ago.", actTime, strTime];
return actualTime;
}